From b3323fc97773049d0d4e8da640bc6c8e2436855c Mon Sep 17 00:00:00 2001 From: Marius-Juston Date: Fri, 23 Jan 2026 17:59:26 -0600 Subject: [PATCH 1/2] updated to 2026 Fusion API --- adsk/cam.py | 10677 ++++++++-- adsk/core.py | 17846 +++++++++++------ adsk/drawing.py | 1 + adsk/fusion.py | 49915 +++++++++++++++++++++++++++++++++------------- adsk/sim.py | 9 + adsk/volume.py | 1204 ++ 6 files changed, 57704 insertions(+), 21948 deletions(-) create mode 100644 adsk/sim.py create mode 100644 adsk/volume.py diff --git a/adsk/cam.py b/adsk/cam.py index bac7b19..9d5bfab 100644 --- a/adsk/cam.py +++ b/adsk/cam.py @@ -2,35 +2,199 @@ # 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 + EbeamTechnology = 9 -class LibraryLocation(): +class ArrangePriorityTypes(): + """ + Enum for the types of priority for an arrange selection. + """ + def __init__(self): + pass + VeryHighArrangePriorityType = 0 + HighArrangePriorityType = 1 + MediumArrangePriorityType = 2 + LowArrangePriorityType = 3 + VeryLowArrangePriorityType = 4 + +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 CAM3MFSupportInclusionType(): + """ + Sets how the support should be included into the 3mf + Options are not to be included, as 3mf support object or as 3mf model object + """ + def __init__(self): + pass + NotIncluded = 0 + IncludeAsSupportType = 1 + IncludeAsModelType = 2 + +class CAMAdditiveContainerTypes(): + """ + Enum specifying the types of additive containers available in Fusion. + Some additive containers not listed here are available via other API classes, i.e. PrintSetting + """ + def __init__(self): + pass + SupportCAMAdditiveContainerType = 0 + OptimizedOrientationCAMAdditiveContainerType = 1 + BodyPresetCAMAdditiveContainerType = 2 + AdditiveProcessSimulationCAMAdditiveContainerType = 3 + +class DefaultGroupType(): + """ + Types of default groups. Used to specify which default group to be retrieved by defaultGroup method. + """ + def __init__(self): + pass + Fixture_GroupType = 0 + Model_GroupType = 1 + Drive_GroupType = 2 + Floor_GroupType = 3 + Wall_GroupType = 4 + Adjacent_GroupType = 5 + +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 FusionHubExecutionBehaviors(): + """ + Enum to define the behavior when posting to Fusion hub. + """ + def __init__(self): + pass + FusionHubExecutionBehavior_ForceExportWithRelationship = 0 + FusionHubExecutionBehavior_SilentForceExportWithRelationship = 1 + FusionHubExecutionBehavior_ExportWithRelationship = 2 + FusionHubExecutionBehavior_SkipRelationship = 3 + +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 + HubLibraryLocation = 6 + +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(): """ @@ -41,6 +205,74 @@ def __init__(self): LinearMachineAxisType = 0 RotaryMachineAxisType = 1 +class MachineCoolant(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Enumeration of possible coolants that a machine can use. + """ + def __init__(self): + pass + MachineCoolant_FLOOD = 0 + MachineCoolant_MIST = 1 + MachineCoolant_THROUGH_TOOL = 2 + MachineCoolant_AIR = 3 + MachineCoolant_AIR_THROUGH_TOOL = 4 + MachineCoolant_SUCTION = 5 + MachineCoolant_FLOOD_MIST = 6 + MachineCoolant_FLOOD_THROUGH_TOOL = 7 + +class MachineElementInputType(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Enumeration of the types of machine element inputs that can be created. + """ + def __init__(self): + pass + MultiAxisElement = 0 + ToolingCapabilityElement = 1 + ExtruderElement = 2 + LaserElement = 3 + +class MachineItemType(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Enumeration of possible MachineItem types. + """ + def __init__(self): + pass + MachineItemType_TOOL = 0 + MachineItemType_TOOL_CUTTER = 1 + MachineItemType_TOOL_NONCUTTER = 2 + MachineItemType_STOCK = 3 + MachineItemType_FIXTURE = 4 + MachineItemType_MODEL = 5 + MachineItemType_MACHINE_PART = 6 + MachineItemType_TURRET_ACTIVE_TOOL = 7 + MachineItemType_TURRET_INACTIVE_TOOL = 8 + MachineItemType_INVALID = 9 + +class MachineNonTCPInterpolationMode(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Interpolation modes available for non-TCP motions. + """ + def __init__(self): + pass + MachineNonTCPInterpolationMode_SynchronizedAxes = 0 + MachineNonTCPInterpolationMode_IndependentAxes = 1 + class MachinePartTypes(): """ List of part types for MachinePart @@ -52,6 +284,31 @@ 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 MachineTCPInterpolationMode(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Interpolation modes available for TCP motions. + """ + def __init__(self): + pass + MachineTCPInterpolationMode_SynchronizedAxes = 0 + MachineTCPInterpolationMode_IndependentAxes = 1 + MachineTCPInterpolationMode_ToolTip = 2 + class MachineTemplate(): """ List of the machine templates to create a machine from. @@ -64,10 +321,110 @@ def __init__(self): Generic5AxisHeadHead = 3 Generic5AxisHeadTable = 4 Generic5AxisTableTable = 5 + GenericFFF = 6 + +class MachiningMode(): + """ + Specifies how to treat a surface group + """ + def __init__(self): + pass + Avoid_MachiningMode = 0 + Machine_MachiningMode = 1 + Gouge_MachiningMode = 2 + Fixture_MachiningMode = 3 + +class ModifyUtilityTypes(): + """ + Types of provided ModifyUtility. + """ + def __init__(self): + pass + AdditiveSetupModifyUtility = 0 + +class MultiAxisDegreesPerMinuteType(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Enumeration of the multi-axis degrees per minute types that can be used in MultiAxisDPMFeedrateSettings and its specializations. + """ + def __init__(self): + pass + MultiAxisDegreesPerMinuteType_Standard = 0 + MultiAxisDegreesPerMinuteType_Combination = 1 + +class MultiAxisFeedMode(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Enumeration of the multi-axis feed modes that can be used in MultiAxisFeedrateSettings and its specializations. + """ + def __init__(self): + pass + MultiAxisFeedMode_InverseTime = 0 + MultiAxisFeedMode_DegreesPerMinute = 1 + MultiAxisFeedMode_ProgrammerdFeedrate = 2 + +class MultiAxisInverseTimeUnit(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + The time unit used to calculate the feedrate for the MultiAxisInverseTimeFeedrateSettings + """ + def __init__(self): + pass + MultiAxisInverseTimeUnit_Seconds = 0 + MultiAxisInverseTimeUnit_Minutes = 1 + +class MultiAxisRetractPreference(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Enumeration of the multi-axis retract preferences that can be used in MultiAxisRetractAndReconfigureSettings. + """ + def __init__(self): + pass + MultiAxisRetractPreference_RetractAtApex = 0 + MultiAxisRetractPreference_StayAtApex = 1 + +class MultiAxisRewindPreference(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Enumeration of the multi-axis rewind preferences that can be used in MultiAxisRetractAndReconfigureSettings. + """ + def __init__(self): + pass + MultiAxisRewindPreference_RewindAtLinear = 0 + MultiAxisRewindPreference_RewindAtRapid = 1 + +class MultiAxisSingularityLinearizeMethod(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + The linearization method the MultiAxisSingularitySettings should use. + Different values will be used in different MultiAxisSingularitySettings specializations. + """ + def __init__(self): + pass + MultiAxisSingularityLinearize_Linear = 0 + MultiAxisSingularityLinearize_Rotary = 1 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 +433,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 +444,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 +472,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,96 +525,88 @@ def __init__(self): HTMLFormat = 0 ExcelFormat = 1 -class CAMExportManager(core.Base): +class SetupStockModes(): """ - Export manager used to export the setup's models in one of the formats defined the 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. + List of setup stock modes. """ def __init__(self): pass - @staticmethod - def cast(arg) -> CAMExportManager: - return CAMExportManager() - 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. - """ - return CAM3MFExportOptions() + FixedBoxStock = 0 + RelativeBoxStock = 1 + FixedCylinderStock = 2 + RelativeCylinderStock = 3 + FixedTubeStock = 4 + RelativeTubeStock = 5 + SolidStock = 6 + PreviousSetupStock = 7 -class CAMExportOptions(core.Base): +class SideTypes(): """ - Parent class for all ExportOptions objects giving access to the setup and file name used for the export. + Enum for the order of loops. """ def __init__(self): pass - @staticmethod - def cast(arg) -> CAMExportOptions: - return CAMExportOptions() - @property - def fullFilename(self) -> str: - """ - The file we want to export to. Needs to contain a valid path, as no intermediate folders are created. - """ - return str() - @fullFilename.setter - def fullFilename(self, value: str): - """ - The file we want to export to. Needs to contain a valid path, as no intermediate folders are created. - """ - pass - @property - def exportObject(self) -> core.Base: - """ - The export object we want to export. Depending on the actual export option, this might be geometry, an operation or a setup. - """ - return core.Base() - @exportObject.setter - 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. - """ + AlwaysOutsideSideType = 0 + AlwaysInsideSideType = 1 + StartOutsideSideType = 2 + StartInsideSideType = 3 + +class SplitSupportTypes(): + """ + Split support behavior depending on the type of support. + """ + def __init__(self): pass + SolidOpenMergedSplitSupportType = 0 + SolidOpenSeparateSplitSupportType = 1 -class CAMFolders(core.Base): +class ArrangeSelections(core.Base): """ - Collection that provides access to the folders within an existing setup, folder or pattern. + Collection for all arrange selections to be passed to a CAMArrangeParameterValue object. + This is a read-only container. It returns the arrange 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, CAMArrangeParameterValue.applyArrangeSelections() needs to be called. """ def __init__(self): pass @staticmethod - def cast(arg) -> CAMFolders: - return CAMFolders() - def item(self, index: int) -> CAMFolder: - """ - Function that returns the specified folder using an index into the collection. + def cast(arg) -> ArrangeSelections: + return ArrangeSelections() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ArrangeSelection: + return None + def __iter__(self) -> Iterator[ArrangeSelection]: + return None + def item(self, index: int) -> ArrangeSelection: + """ + Function that returns the specified arrange 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. """ - return CAMFolder() - def itemByName(self, name: str) -> CAMFolder: + return ArrangeSelection() + def clear(self) -> None: """ - Returns the folder with the specified name (as appears in the browser). - name : The name (as it appears in the browser) of the folder. - Returns the specified folder or null in the case where there is no folder with the specified name. + Clears all entries. """ - return CAMFolder() - def itemByOperationId(self, id: int) -> CAMFolder: + pass + def remove(self, index: int) -> None: """ - Returns the folder with the specified operation id. - id : The id of the folder. - Returns the specified folder or null in the case where there is no folder with the specified operation id. + Function that removes the specified arrange selection object using an index in the collection. + index : The index of the item within the collection to remove. The first item in the collection has an index of 0. """ - return CAMFolder() + pass + def removeByObject(self, selection: ArrangeSelection) -> None: + """ + Function that removes the specified arrange selection object from the collection. + selection : The item within the collection to remove. Throws an exception if the arrange selection is not part of the given selection. + """ + pass + def createNewArrangeSelection(self) -> ArrangeSelection: + """ + Creates a new occurrence selection meant for arrange operations and adds it to the end of the collection. + Returns newly created ArrangeSelection. + """ + return ArrangeSelection() @property def count(self) -> int: """ @@ -267,2971 +614,9339 @@ def count(self) -> int: """ return int() -class CAMInspectionResults(core.Base): +class CAM3MFExportMetadataOptions(core.Base): """ - Collection that provides access to the Measures in a results folder. + Class providing read and write access to meta data of a 3MF file. """ def __init__(self): pass @staticmethod - def cast(arg) -> CAMInspectionResults: - return CAMInspectionResults() - def item(self, index: int) -> CAMMeasure: + def cast(arg) -> CAM3MFExportMetadataOptions: + return CAM3MFExportMetadataOptions() + @property + def enabled(self) -> bool: """ - 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. + Enable or disable the integration of Metadata in the 3mf. + This is true by default. """ - return CAMMeasure() - def itemByName(self, name: str) -> CAMMeasure: + return bool() + @enabled.setter + def enabled(self, value: 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. + Enable or disable the integration of Metadata in the 3mf. + This is true by default. """ - return CAMMeasure() + pass @property - def count(self) -> int: + def title(self) -> str: """ - The number of measures in the collection. + Title of the 3MF File + """ + return str() + @title.setter + def title(self, value: str): + """ + Title of the 3MF File """ - return int() - -class CAMLibraryManager(core.Base): - """ - CAMLibraryManager provides access to properties related to various libraries in the - Fusion 360 Manufacture workspace, such as the post library and machine library. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> CAMLibraryManager: - return CAMLibraryManager() @property - def fusion360PostFolder(self) -> str: + def designer(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. + Designer of the 3MF File """ return str() - @property - def localPostFolder(self) -> str: + @designer.setter + def designer(self, value: str): """ - Gets the absolute path to the folder containing local posts. Local posts appear - in post library under the local tab. + Designer of the 3MF File """ - return str() + pass @property - def fusion360MachineFolder(self) -> str: + def description(self) -> str: """ - Gets the absolute path to the folder containing Fusion 360 machines. Fusion 360 - machines appear in the machine library under the Fusion 360 tab. + Description of the 3MF File """ return str() + @description.setter + def description(self, value: str): + """ + Description of the 3MF File + """ + pass @property - def localMachineFolder(self) -> str: + def copyright(self) -> str: """ - Gets the absolute path to the folder containing local machines. Local Machines appear - in machine library under the local tab. + Copyright of the 3MF File """ return str() + @copyright.setter + def copyright(self, value: str): + """ + Copyright of the 3MF File + """ + pass @property - def networkMachineFolder(self) -> str: + def licenseTerms(self) -> str: """ - Gets the absolute path to the folder containing network machines. Network machines - appear in the machine library under the network tab. + License terms of the 3MF File """ return str() - -class CAMManager(core.Base): - """ - This singleton object provides access to application-level events and properties - that relate to the CAM (Manufacture) workspace in Fusion 360. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> CAMManager: - return CAMManager() - @staticmethod - def get() -> CAMManager: + @licenseTerms.setter + def licenseTerms(self, value: str): """ - Access to the root CAMManager object. - Return the root CAMManager object or null if it failed. + License terms of the 3MF File """ - return CAMManager() + pass @property - def libraryManager(self) -> CAMLibraryManager: + def creationDate(self) -> str: """ - CAMLibraryManager provides access to properties related to various libraries in the - Fusion 360 Manufacture workspace, such as the post library and machine library. - Return a CAMLibraryManager object or null if it failed. + Creation date of the 3MF File """ - return CAMLibraryManager() + return str() + @creationDate.setter + def creationDate(self, value: str): + """ + Creation date of the 3MF File + """ + pass @property - def postEnginePath(self) -> str: + def modificationDate(self) -> str: """ - Gets the absolute path to the post engine (post.exe) installed with Fusion 360. + Modification date of the 3MF File """ return str() - @property - def networkMachineIntegrationManager(self) -> NetworkMachineIntegrationManager: + @modificationDate.setter + def modificationDate(self, value: str): """ - 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. - Return a NetworkMachineIntegrationManager object or null if it failed. + Modification date of the 3MF File """ - return NetworkMachineIntegrationManager() + pass -class CAMMeasure(core.Base): +class CAMAdditiveBuildExportFilter(core.Base): """ - Object that represents a Measure folder. + Export filter used by CAMAdditiveMachineBuildFileExportOptions. """ def __init__(self): pass @staticmethod - def cast(arg) -> CAMMeasure: - return CAMMeasure() + def cast(arg) -> CAMAdditiveBuildExportFilter: + return CAMAdditiveBuildExportFilter() @property - def inspectionPathResults(self) -> InspectionPathResults: + def isMultiFileExport(self) -> bool: """ - Access all the surface inspection results from a measure - return a collection of surface inspection results from a measure or null if none found + True if the export outputs multiple files. + If so, fullFilename should point to a directory, not a file. """ - return InspectionPathResults() - -class CAMParameter(core.Base): - """ - Base class for representing parameter of an operation. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> CAMParameter: - return CAMParameter() + return bool() @property - def name(self) -> str: + def extension(self) -> str: """ - Gets the name (internal name) of the parameter. + The extension of the file format, including a leading "." """ return str() @property - def title(self) -> str: + def name(self) -> str: """ - Returns the title of this parameter as seen in the user interface. - This title is localized and can change based on the current language + The name of the file format. Might indicate whether a file format is binary or not. """ return str() @property - def expression(self) -> str: + def id(self) -> str: """ - Gets and sets the value expression of the parameter. + The id of the file format. """ return str() - @expression.setter - def expression(self, value: str): + +class CAMExportFuture(core.Base): + """ + Used to check the state and get back the results of an operation generation. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CAMExportFuture: + return CAMExportFuture() + @property + def exportOptions(self) -> CAMExportOptions: """ - Gets and sets the value expression of the parameter. + Returns the export option used to define the export associated with this future object. """ - pass + return CAMExportOptions() @property - def isEnabled(self) -> bool: + def isGenerationCompleted(self) -> bool: """ - Gets if this parameter is enabled. Some parameters are enabled/disabled depending on the values - set for other parameters. + Returns true if the export has finished generating. """ return bool() @property + def progress(self) -> float: + """ + Returns the progress as a percentage value between 0.0% and 100.0%. + """ + return float() + @property def error(self) -> str: """ - Returns a message corresponding to any active error associated with the value of this parameter. + Gets the last encountered error message generated on the export thread. + Returns an empty string if no errors have been found. """ return str() @property def warning(self) -> str: """ - Returns a message corresponding to any active warning associated with the value of this parameter. + Gets the last encountered warning message generated on the export thread. + Returns an empty string if no warnings have been found. """ return str() - @property - def isEditable(self) -> bool: + +class CAMExportManager(core.Base): + """ + 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): + pass + @staticmethod + def cast(arg) -> CAMExportManager: + return CAMExportManager() + def execute(self, exportOptions: CAMExportOptions) -> bool: """ - Returns whether or not the parameter's expression or value can be modified. + Executes an export based on the export options. + exportOptions : The export options defining the export type and necessary meta data. + Returns true if the export finished successfully. """ return bool() - @property - def value(self) -> ParameterValue: + def create3MFOptions(self) -> CAM3MFExportOptions: """ - 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) + Creates a new 3MF export option. + Returns new CAM3MFExportOptions. """ - return ParameterValue() + return CAM3MFExportOptions() + def createCAMAdditiveBuildExportOptions(self) -> CAMAdditiveBuildExportOptions: + """ + 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() + def executeWithExportFuture(self, exportOptions: CAMExportOptions) -> CAMExportFuture: + """ + Executes an export based on the export options + exportOptions : The export options defining the export type and necessary meta data. + Returns a CAMExportFuture object if the export has started successfully. + """ + return CAMExportFuture() -class CAMParameters(core.Base): +class CAMExportOptions(core.Base): """ - Collection that provides access to the parameters of an existing operation. + Parent class for all ExportOptions objects giving access to the setup and file name used for the export. """ def __init__(self): pass @staticmethod - def cast(arg) -> CAMParameters: - return CAMParameters() - def item(self, index: int) -> CAMParameter: + def cast(arg) -> CAMExportOptions: + return CAMExportOptions() + @property + def fullFilename(self) -> str: """ - Function that returns the specified parameter 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 file we want to export to. Needs to contain a valid path, as no intermediate folders are created. """ - return CAMParameter() - def itemByName(self, internalName: str) -> CAMParameter: + return str() + @fullFilename.setter + def fullFilename(self, value: str): """ - Returns the parameter of the specified id (internal name). - internalName : The id (internal name) of the parameter. - Returns the specified parameter or null in the case where there is no parameter with the specified id. + The file we want to export to. Needs to contain a valid path, as no intermediate folders are created. """ - return CAMParameter() + pass @property - def count(self) -> int: + def exportObject(self) -> core.Base: """ - The number of items in the collection. + The export object we want to export. Depending on the actual export option, this might be geometry, an operation or a setup. + """ + return core.Base() + @exportObject.setter + 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. """ - return int() - -class CAMPatterns(core.Base): - """ - Collection that provides access to the patterns within an existing setup, folder or pattern. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> CAMPatterns: - return CAMPatterns() - def item(self, index: int) -> CAMPattern: + @property + def thumbnailPath(self) -> str: """ - Function that returns the specified pattern 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. + Path to the thumbnail for the buildfile """ - return CAMPattern() - def itemByName(self, name: str) -> CAMPattern: + return str() + @thumbnailPath.setter + def thumbnailPath(self, value: str): """ - Returns the pattern with the specified name (as appears in the browser). - name : The name (as it appears in the browser) of the pattern. - Returns the specified pattern or null in the case where there is no pattern with the specified name. + Path to the thumbnail for the buildfile """ - return CAMPattern() - def itemByOperationId(self, id: int) -> CAMPattern: + pass + @property + def isThumbnailSupported(self) -> bool: """ - Returns the pattern with the specified operation id. - id : The id of the pattern. - Returns the specified pattern or null in the case where there is no pattern with the specified operation id. + Method to check if the exporter implementation supports thumbnail """ - return CAMPattern() + return bool() @property - def count(self) -> int: + def error(self) -> str: """ - The number of items in the collection. + Gets the last encountered error message. + When the CAMExportManager's executeWithExportFuture() method is used, this method only returns errors encoutered when setting up the export. + Errors thrown afterwards can be retrieved via the CAMExportFuture object. + When the CAMExportManager's execute() method is used, any error can be retrieved using this property. + Returns an empty string if no errors have been found. """ - return int() + return str() -class ChildOperationList(core.Base): +class CAMFolders(core.Base): """ - Provides access to the collection of child operations, folders and patterns of an existing setup. + Collection that provides access to the folders within an existing setup, folder or pattern. """ def __init__(self): pass @staticmethod - def cast(arg) -> ChildOperationList: - return ChildOperationList() - def item(self, index: int) -> core.Base: + 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: """ - Returns the specified item using an index into the collection. + Function that returns the specified folder 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: + return CAMFolder() + def itemByName(self, name: str) -> CAMFolder: """ - 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. - Returns the specified item or null in the case where there is no item with the specified name. + Returns the folder with the specified name (as appears in the browser). + name : The name (as it appears in the browser) of the folder. + Returns the specified folder or null in the case where there is no folder with the specified name. """ - return core.Base() - def itemByOperationId(self, id: int) -> core.Base: + return CAMFolder() + def itemByOperationId(self, id: int) -> CAMFolder: """ - Returns the operation, folder or pattern with the specified operation id. - id : The id of the operation, folder or pattern. - Returns the specified item or null in the case where there is no item with the specified operation id. + Returns the folder with the specified operation id. + id : The id of the folder. + Returns the specified folder or null in the case where there is no folder with the specified operation id. """ - return core.Base() + return CAMFolder() + def addFolder(self, name: str) -> CAMFolder: + """ + Creates a folder with the specified name and returns it as CAMFolder object. + name : The name (as it appears in the browser) of the folder. + Returns the newly created folder or null if folder can't be created. + """ + return CAMFolder() @property def count(self) -> int: """ - Gets the number of objects in the collection. + The number of items in the collection. """ return int() -class CreateMachineConfigurationsEventHandler(core.EventHandler): +class CAMLibrary(core.Base): """ - Event handler for the CreateMachineConfigurationsEvent. + The CAMLibrary is the base-class for all other asset-specific libraries. """ def __init__(self): pass @staticmethod - def cast(arg) -> CreateMachineConfigurationsEventHandler: - return CreateMachineConfigurationsEventHandler() - def notify(self, eventArgs: CreateMachineConfigurationsEventArgs) -> None: + def cast(arg) -> CAMLibrary: + return CAMLibrary() + def urlByLocation(self, location: LibraryLocations) -> core.URL: """ - 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. + Get the URL for a given LibraryLocations. + location : The LibraryLocations to be converted into an URL. + Returns the URL for given location. """ - pass - -class GenerateToolpathFuture(core.Base): - """ - Used to check the state and get back the results of toolpath generation. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> GenerateToolpathFuture: - return GenerateToolpathFuture() - @property - def numberOfOperations(self) -> int: + return core.URL() + def displayName(self, url: core.URL) -> str: """ - Returns a number of operations need to be generated. + 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 int() - @property - def numberOfCompleted(self) -> int: + return str() + def childFolderURLs(self, url: core.URL) -> list[core.URL]: """ - Returns a number of operations whose toolpath generation are completed. + Get all library folders under given URL. + url : The URL to the parent folder. + Returns list of folder URLs at given location. """ - return int() - @property - def operations(self) -> Operations: + return [core.URL()] + def childAssetURLs(self, url: core.URL) -> list[core.URL]: """ - Returns all operations that need to be generated. + Get all assets under given URL. + url : The URL to the parent folder. + Returns list of asset URLs at given location. """ - return Operations() - @property - def isGenerationCompleted(self) -> bool: + return [core.URL()] + def deleteFolder(self, url: core.URL) -> bool: """ - Returns true if all operations are generated. + 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() - -class InspectionPathResult(core.Base): - """ - Class to represent measured results from an surface inspection path. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> InspectionPathResult: - return InspectionPathResult() - @property - def pointResults(self) -> InspectionPointResults: + def deleteAsset(self, url: core.URL) -> bool: """ - return all the point results for the path. + 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 InspectionPointResults() - -class InspectionPathResults(core.Base): - """ - collection of inspection paths results. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> InspectionPathResults: - return InspectionPathResults() - def item(self, index: int) -> InspectionPathResult: + return bool() + def createFolder(self, parentUrl: core.URL, folderName: str) -> core.URL: """ - 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. + 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 InspectionPathResult() + return core.URL() + def doesPathExist(self, url: core.URL) -> bool: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Checks if the given URL points to an existing folder or asset in the library. + url : The URL to be checked. + Returns true if the URL points to an existing folder or asset, false otherwise. + """ + return bool() @property - def count(self) -> int: + def assetTypeName(self) -> str: """ - The number of InspectionPathResult in the collection. + Get the name of the asset type which can be accessed by the library. """ - return int() + return str() -class InspectionPointResult(core.Base): +class CAMLibraryManager(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. + CAMLibraryManager provides access to properties related to various libraries in the + Fusion Manufacture workspace, such as the post library and machine library. """ 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() + def cast(arg) -> CAMLibraryManager: + return CAMLibraryManager() @property - def projectedPoint(self) -> core.Point3D: + def networkMachineFolder(self) -> str: """ - get the projected position of the measured point. + Gets the absolute path to the folder containing network machines. Network machines + appear in the machine library under the network tab. """ - return core.Point3D() + return str() @property - def contact(self) -> core.Point3D: + def machineLibrary(self) -> MachineLibrary: """ - get the contact position of the inspection point. + The MachineLibrary provides access to machines. """ - return core.Point3D() + return MachineLibrary() @property - def offset(self) -> float: + def toolLibraries(self) -> ToolLibraries: """ - get offset associated with the inspection point. + The ToolLibraries provides access to tools. """ - return float() + return ToolLibraries() @property - def delta(self) -> core.Vector3D: + def templateLibrary(self) -> CAMTemplateLibrary: """ - get the deviation vector of the measured point from nominal. + The CAMTemplateLibrary provides access to templates """ - return core.Vector3D() + return CAMTemplateLibrary() @property - def deviation(self) -> float: + def printSettingLibrary(self) -> PrintSettingLibrary: """ - get the deviation of the measured point. + The PrintSettingLibrary provides access to print settings. """ - return float() + return PrintSettingLibrary() @property - def error(self) -> float: + def postLibrary(self) -> PostLibrary: """ - get the error of the measured point adjusting by the allowable tolerance. + The PostLibrary provides access to postConfigurations. """ - return float() + return PostLibrary() @property - def state(self) -> InspectionPointState: + def stockMaterialLibrary(self) -> StockMaterialLibrary: """ - Get the state of the result. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + The StockMaterialLibrary provides access to stock materials. + You can only get a valid StockMaterialLibrary when you have access to Stock Materials private preview feature and enable the feature flag. """ - return InspectionPointState() + return StockMaterialLibrary() -class InspectionPointResults(core.Base): +class CAMManager(core.Base): """ - collection of inspection point results + This singleton object provides access to application-level events and properties + that relate to the CAM (Manufacture) workspace in Fusion. """ def __init__(self): pass @staticmethod - def cast(arg) -> InspectionPointResults: - return InspectionPointResults() - def item(self, index: int) -> InspectionPointResult: + def cast(arg) -> CAMManager: + return CAMManager() + @staticmethod + def get() -> CAMManager: """ - 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. + Access to the root CAMManager object. + Return the root CAMManager object or null if it failed. """ - return InspectionPointResult() + return CAMManager() @property - def count(self) -> int: + def libraryManager(self) -> CAMLibraryManager: + """ + CAMLibraryManager provides access to properties related to various libraries in the + Fusion Manufacture workspace, such as the post library and machine library. + Return a CAMLibraryManager object or null if it failed. + """ + return CAMLibraryManager() + @property + def postEnginePath(self) -> str: """ - The number of InspectionPointResult in the collection. + Gets the absolute path to the post engine (post.exe) installed with Fusion. """ - return int() + return str() + @property + def networkMachineIntegrationManager(self) -> NetworkMachineIntegrationManager: + """ + Gets the NetworkMachineIntegrationManager needed to integrate add-ins into the 'Find network machines' dialog. + Return a NetworkMachineIntegrationManager object or null if it failed. + """ + return NetworkMachineIntegrationManager() -class Machine(core.Base): +class CAMParameter(core.Base): """ - Object that represents a machine. + Base class for representing parameter of an operation. """ def __init__(self): pass @staticmethod - def cast(arg) -> Machine: - return Machine() - @staticmethod - def createFromTemplate(machineTemplate: MachineTemplate) -> Machine: - """ - Creates a Machine from a template. - machineTemplate : The template to act as a base for creating a machine from. - Returns the newly created machine with a valid kinematics tree. - """ - return Machine() - @staticmethod - def createFromFile(location: LibraryLocation, filePath: str) -> Machine: - """ - Creates a Machine from a file. - location : The location in the machine library. - filePath : The path to a file to act as a base for creating a machine from. - The path is relative to the library location given, unless library location is External, - then the filePath is expected to be an absolute path. - Returns the newly created machine with a valid kinematics tree. - """ - return Machine() - def save(self, location: LibraryLocation, filePath: str) -> bool: + def cast(arg) -> CAMParameter: + return CAMParameter() + def saveExpressionAsUserDefault(self) -> bool: """ - 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. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Saves the current expression as user default value. + Throws an exception if the parent is not an operation or does not support user default expressions. + Returns true if saving was successful. """ return bool() @property - def vendor(self) -> str: + def name(self) -> str: """ - Gets and sets the vendor name of the machine. + Gets the name (internal name) of the parameter. """ return str() - @vendor.setter - def vendor(self, value: str): + @property + def title(self) -> str: """ - Gets and sets the vendor name of the machine. + Returns the title of this parameter as seen in the user interface. + This title is localized and can change based on the current language """ - pass + return str() @property - def model(self) -> str: + def expression(self) -> str: """ - Gets and sets the model name of the machine. + Gets and sets the value expression of the parameter. """ return str() - @model.setter - def model(self, value: str): + @expression.setter + def expression(self, value: str): """ - Gets and sets the model name of the machine. + Gets and sets the value expression of the parameter. """ pass @property - def description(self) -> str: - """ - Gets and sets the description of the machine. - """ - return str() - @description.setter - def description(self, value: str): + def isEnabled(self) -> bool: """ - Gets and sets the description of the machine. + Gets if this parameter is enabled. Some parameters are enabled/disabled depending on the values + set for other parameters. """ - pass + return bool() @property - def id(self) -> str: + def error(self) -> str: """ - Gets the unique identifier of the machine. - Can be used for comparing machines within the document. + Returns a message corresponding to any active error associated with the value of this parameter. """ return str() @property - def capabilities(self) -> MachineCapabilities: + def warning(self) -> str: """ - Gets the capabilities of the machine. + Returns a message corresponding to any active warning associated with the value of this parameter. """ - return MachineCapabilities() + return str() @property - def kinematics(self) -> MachineKinematics: + def isEditable(self) -> bool: """ - Gets the kinematics tree of the machine. + Returns whether or not the parameter's expression or value can be modified. """ - return MachineKinematics() - -class MachineAxis(core.Base): - """ - Abstract base class representing a single machine axis. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> MachineAxis: - return MachineAxis() + return bool() @property - def name(self) -> str: + def value(self) -> ParameterValue: """ - The name of this axis. + Returns an object that allows you to get and set the value associated with the parameter. """ - return str() - @name.setter - def name(self, value: str): + return ParameterValue() + @property + def isDeprecated(self) -> bool: """ - The name of this axis. + Gets if this parameter is deprecated. Some parameters are deprecated when their usage becomes obsolete. + Reading deprecated parameters is allowed, but setting deprecated parameters will throw an error. """ - pass + return bool() @property - def axisType(self) -> MachineAxisTypes: + def fullTitle(self) -> str: """ - The type of axis. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns the full title of this parameter as seen in the user interface. + This can potentially be more descriptive than the basic title. + This title is localized and can change based on the current language. """ - return MachineAxisTypes() + return str() @property - def hasLimits(self) -> bool: + def isVisible(self) -> bool: """ - Does this axis have a limited range of motion. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Gets if this parameter is visible in the user interface. """ return bool() @property - def physicalMin(self) -> float: + def userDefaultExpression(self) -> str: """ - 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. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Gets and sets the userDefaultExpression of this parameter. + If no userDefaultExpression is set, the systemDefaultExpression is returned. + Throws an exception if the parent is not an operation or does not support user default expressions. """ - return float() - @physicalMin.setter - def physicalMin(self, value: float): + return str() + @property + def systemDefaultExpression(self) -> str: """ - 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. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns the systemDefaultExpression of this parameter. """ + return str() + +class CAMParameters(core.Base): + """ + Collection that provides access to the parameters of an existing operation. + """ + def __init__(self): pass - @property - def physicalMax(self) -> float: + @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: """ - 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. + Function that returns the specified parameter 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() - @physicalMax.setter - def physicalMax(self, value: float): + return CAMParameter() + def itemByName(self, internalName: str) -> CAMParameter: """ - 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. + Returns the parameter of the specified id (internal name). + internalName : The id (internal name) of the parameter. + Returns the specified parameter or null in the case where there is no parameter with the specified id. """ - pass - @property - def homePosition(self) -> float: + return CAMParameter() + def resetToSystemDefaults(self) -> bool: """ - Specifies the value (in mm/deg) that this axis returns to when the machine is homed. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Resets each parameter to its system default. + Returns true if the reset was successful. """ - return float() - @homePosition.setter - def homePosition(self, value: float): + return bool() + @property + def count(self) -> int: """ - Specifies the value (in mm/deg) that this axis returns to when the machine is homed. + The number of items in the collection. """ - pass + return int() -class MachineAxisInput(core.Base): +class CAMPatterns(core.Base): """ - Object that defines the properties required to create a machine axis object. + Collection that provides access to the patterns within an existing setup, folder or pattern. """ def __init__(self): pass @staticmethod - def cast(arg) -> MachineAxisInput: - return MachineAxisInput() - @property - def axisType(self) -> MachineAxisTypes: + 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: """ - The type of axis. - This axis type determines which parameters of this object are valid to be accessed - or modified. + Function that returns the specified pattern 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 MachineAxisTypes() - @property - def name(self) -> str: + return CAMPattern() + def itemByName(self, name: str) -> CAMPattern: """ - The user facing name of this axis. + Returns the pattern with the specified name (as appears in the browser). + name : The name (as it appears in the browser) of the pattern. + Returns the specified pattern or null in the case where there is no pattern with the specified name. """ - return str() - @name.setter - def name(self, value: str): + return CAMPattern() + def itemByOperationId(self, id: int) -> CAMPattern: """ - The user facing name of this axis. + Returns the pattern with the specified operation id. + id : The id of the pattern. + Returns the specified pattern or null in the case where there is no pattern with the specified operation id. """ - pass + return CAMPattern() @property - def homePosition(self) -> float: - """ - Specifies the value (in mm/deg) that this axis returns to when the machine is homed. - """ - return float() - @homePosition.setter - def homePosition(self, value: float): + def count(self) -> int: """ - Specifies the value (in mm/deg) that this axis returns to when the machine is homed. + The number of items in the collection. """ + return int() + +class CAMTemplate(core.Base): + """ + 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 - @property - def physicalMin(self) -> float: + @staticmethod + def cast(arg) -> CAMTemplate: + return CAMTemplate() + @staticmethod + def createFromXML(xml: str) -> CAMTemplate: """ - The minimum possible value for this axis (in mm/deg). - Set the value of this and physicalMax to 0 to create an - unlimited axis. + 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 float() - @physicalMin.setter - def physicalMin(self, value: float): + return CAMTemplate() + @staticmethod + def createFromOperations(operations: list[Operation]) -> CAMTemplate: """ - The minimum possible value for this axis (in mm/deg). - Set the value of this and physicalMax to 0 to create an - unlimited axis. + Create a CAMTemplate from a list of Operations + operations : An array of operations to bundle into a template. + Returns the newly created template. """ - pass - @property - def physicalMax(self) -> float: + return CAMTemplate() + @staticmethod + def createHoleTemplateFromOperations(operations: list[Operation]) -> CAMTemplate: """ - The maximum possible value for this axis (in mm/deg). - Set the value of this and physicalMin to 0 to create an - unlimited axis. + 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 float() - @physicalMax.setter - def physicalMax(self, value: float): + return CAMTemplate() + @staticmethod + def createFromFile(filePath: str) -> CAMTemplate: """ - The maximum possible value for this axis (in mm/deg). - Set the value of this and physicalMin to 0 to create an - unlimited axis. + 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. """ - pass - -class MachineCapabilities(core.Base): - """ - Object that represents the capabilities of the machine. - """ - def __init__(self): - pass + return CAMTemplate() @staticmethod - def cast(arg) -> MachineCapabilities: - return MachineCapabilities() - @property - def isMillingSupported(self) -> bool: + def createEmpty() -> CAMTemplate: """ - Gets and sets if the machine is capable of subtractive milling. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Create an empty CAMTemplate + 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() - @isMillingSupported.setter - def isMillingSupported(self, value: bool): + def getHoleSignatureXML(self) -> str: """ - Gets and sets if the machine is capable of subtractive milling. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Convert hole signature to XML. This will be empty if this is not + a hole template, or if there is no signature. + """ + return str() + def setHoleSignatureXML(self, xmlSnippet: str) -> bool: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Provide an XML snippet to specify a hole signature. This will + have no effect if this is not a hole template. This will fail if + the provided snippet is not valid. + This will return true on success, false on failure. + """ + 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 isTurningSupported(self) -> bool: + def description(self) -> str: """ - Gets and sets if the machine is capable of subtractive turning. + Gets and sets the description of the template. """ - return bool() - @isTurningSupported.setter - def isTurningSupported(self, value: bool): + return str() + @description.setter + def description(self, value: str): """ - Gets and sets if the machine is capable of subtractive turning. + Gets and sets the description of the template. """ pass @property - def isCuttingSupported(self) -> bool: + def isHoleTemplate(self) -> bool: """ - Gets and sets if the machine is capable of subtractive cutting. + Whether or not this is a hole template """ return bool() - @isCuttingSupported.setter - def isCuttingSupported(self, value: bool): + @property + def operations(self) -> CAMTemplateOperations: """ - Gets and sets if the machine is capable of subtractive cutting. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Expose operations. + """ + return CAMTemplateOperations() + @operations.setter + def operations(self, value: CAMTemplateOperations): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Expose operations. """ pass + @property + def attributes(self) -> core.Attributes: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns the collection of attributes associated with this template. + """ + return core.Attributes() -class MachineDescription(core.Base): +class CAMTemplateOperationInput(core.Base): """ - A description of a machine used to preview machines in the 'Find network machines' dialog + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + A CAMTemplateOperationInput provides access to Operation Template parameters for editing, in much the same way as + OperationInput provides access to Operation parameters for editing. Operation Template parameters are slightly different + from Operation parameters, for instance in terms of how tools and geometry selections can be specified, so an OperationInput + for a given strategy type has a slightly different set of parameters from a CAMTemplateOperationInput for that same strategy type. """ def __init__(self): pass @staticmethod - def cast(arg) -> MachineDescription: - return MachineDescription() - @staticmethod - def create(vendor: str, model: str, ipAddress: str) -> MachineDescription: + def cast(arg) -> CAMTemplateOperationInput: + return CAMTemplateOperationInput() + def isGeometryIndexEnabled(self, index: int) -> bool: """ - 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. + Get whether a geometry index is selected. + index : + """ - return MachineDescription() - @property - def id(self) -> int: + return bool() + def setGeometryIndexEnabled(self, index: int, enabled: bool) -> None: """ - 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. + Set whether a geometry index is selected. + index : + enabled : """ - return int() + pass @property - def vendor(self) -> str: + def strategy(self) -> str: """ - Gets and sets the vendor name of the machine. + Get the current strategy """ return str() - @vendor.setter - def vendor(self, value: str): + @property + def parameters(self) -> CAMParameters: """ - Gets and sets the vendor name of the machine. + Get all parameters for the current strategy. Parameters are initialized by user defaults. + Configure operation parameters before creation for a better performance. """ - pass + return CAMParameters() @property - def model(self) -> str: + def tool(self) -> Tool: """ - Gets and sets the model name of the machine. + Optionally specify the tool used by the operation. The ToolLibraries allows the access to Local and Fusion tools. """ - return str() - @model.setter - def model(self, value: str): + return Tool() + @tool.setter + def tool(self, value: Tool): """ - Gets and sets the model name of the machine. + Optionally specify the tool used by the operation. The ToolLibraries allows the access to Local and Fusion tools. """ pass @property - def ipAddress(self) -> str: + def toolPreset(self) -> ToolPreset: """ - Gets and sets the ip address of the machine. + 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 str() - @ipAddress.setter - def ipAddress(self, value: str): + return ToolPreset() + @toolPreset.setter + def toolPreset(self, value: ToolPreset): """ - Gets and sets the ip address of the machine. + 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 control(self) -> str: + def displayName(self) -> str: """ - Gets and sets the controller name of the machine. Controller info is not displayed if - not set. + Optionally specify the display name that appears in the browser-tree to override the default. """ return str() - @control.setter - def control(self, value: str): + @displayName.setter + def displayName(self, value: str): """ - Gets and sets the controller name of the machine. Controller info is not displayed if - not set. + Optionally specify the display name that appears in the browser-tree to override the default. """ pass @property - def iconPath(self) -> str: + def geometryIndexCount(self) -> int: """ - Gets and sets the absolute path to the 128x128 png image of the machine. A default - image is used if not set. + Get the number of geometry indices that can be selected. """ - return str() - @iconPath.setter - def iconPath(self, value: str): + return int() + +class CAMTemplateOperations(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + A list of CAMTemplateOperationInput. + + These are stored 'by value' -- get() returns a copy of the element at the given index, + and set() will overwrite the element at the given index with a copy of the given element. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CAMTemplateOperations: + return CAMTemplateOperations() + def __len__(self) -> int: + return 0 + def add(self, input: CAMTemplateOperationInput) -> None: """ - Gets and sets the absolute path to the 128x128 png image of the machine. A default - image is used if not set. + Add an item to the list. + input : This element will be copied to the end of the list. Must come from get() or makeInput(). """ pass - @property - def serial(self) -> str: + def get(self, operationIndex: int) -> CAMTemplateOperationInput: """ - Gets and sets the serial number of the machine. A serial number is not displayed if not - set. + Return a copy of an element. + operationIndex : Index of the element to copy. + """ - return str() - @serial.setter - def serial(self, value: str): + return CAMTemplateOperationInput() + def set(self, operationIndex: int, input: CAMTemplateOperationInput) -> None: """ - Gets and sets the serial number of the machine. A serial number is not displayed if not - set. + Set the element at the given index. + operationIndex : Index of the element to overwrite + input : The element will be overwritten with a copy of this element. Must come from get() or makeInput(). """ pass + def makeInput(self, strategyType: str) -> CAMTemplateOperationInput: + """ + Make a CAMTemplateOperationInput of the given strategy type which is compatible with add() and set(). + strategyType : + + """ + return CAMTemplateOperationInput() + @property + def count(self) -> int: + """ + The number of items in the list. + """ + return int() -class MachineKinematics(core.Base): +class ChildOperationList(core.Base): """ - Object that represents the kinematics tree in the machine. + Provides access to the collection of child operations, folders and patterns of an existing setup. """ def __init__(self): pass @staticmethod - def cast(arg) -> MachineKinematics: - return MachineKinematics() + 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. + Returns the specified item or null in the case where there is no item with the specified name. + """ + return core.Base() + def itemByOperationId(self, id: int) -> core.Base: + """ + Returns the operation, folder or pattern with the specified operation id. + id : The id of the operation, folder or pattern. + Returns the specified item or null in the case where there is no item with the specified operation id. + """ + return core.Base() @property - def parts(self) -> MachineParts: + def count(self) -> int: """ - Get the root parts collection. + Gets the number of objects in the collection. """ - return MachineParts() + return int() -class MachinePart(core.Base): +class CreateFromCAMTemplateInput(core.Base): """ - Object representing some part of a machine, such as the static base of the machine, an - axis, or the attachment points for tools and fixtures. + Object that contains the settings used by createFromCAMTemplate. """ def __init__(self): pass @staticmethod - def cast(arg) -> MachinePart: - return MachinePart() - def deleteMe(self) -> None: - """ - Delete this part and its children from the kinematics tree. - """ - pass - @property - def children(self) -> MachineParts: + def cast(arg) -> CreateFromCAMTemplateInput: + return CreateFromCAMTemplateInput() + @staticmethod + def create() -> CreateFromCAMTemplateInput: """ - Get the collection of child parts. + Creates an empty input object to be passed into createFromCAMTemplate + The newly created input object. """ - return MachineParts() + return CreateFromCAMTemplateInput() @property - def parent(self) -> MachinePart: + def camTemplate(self) -> CAMTemplate: """ - 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. + Gets and sets the template to be instantiated. """ - return MachinePart() - @parent.setter - def parent(self, value: MachinePart): + return CAMTemplate() + @camTemplate.setter + def camTemplate(self, value: CAMTemplate): """ - 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. + Gets and sets the template to be instantiated. """ pass @property - def partType(self) -> MachinePartTypes: - """ - Get the type of this part. - """ - return MachinePartTypes() - @property - def id(self) -> str: + def mode(self) -> AutomaticGenerationModes: """ - Get the internal ID of the part. - This is unique with respect to other MachineParts in the Machine. + Gets and sets the mode to be used for generation. Defaults to Skip Generation. """ - return str() - @property - def axis(self) -> MachineAxis: + return AutomaticGenerationModes() + @mode.setter + def mode(self, value: AutomaticGenerationModes): """ - Get the axis object for this part used to reference this part for other - operations. - Only valid when partType is Axis, otherwise returns null + Gets and sets the mode to be used for generation. Defaults to Skip Generation. """ - return MachineAxis() + pass -class MachinePartInput(core.Base): +class CurveSelections(core.Base): """ - Object representing the set of inputs required to create a new MachinePart. - Set an MachineAxisInput object on this object's axisInput parameter to create - a new MachineAxis with this part. + 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() needs to be called. """ def __init__(self): pass @staticmethod - def cast(arg) -> MachinePartInput: - return MachinePartInput() - def createAxisInput(self, axisType: MachineAxisTypes) -> MachineAxisInput: + 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. """ - Create 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 CurveSelection() + def clear(self) -> None: """ - return MachineAxisInput() - @property - def id(self) -> str: + Clears all entries. """ - Get or set 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. + pass + def createNewChainSelection(self) -> ChainSelection: """ - return str() - @id.setter - def id(self, value: str): + Creates a new chain selection and adds it to the end of the collection. + Returns newly created ChainSelection. """ - Get or set 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. + return ChainSelection() + def createNewFaceContourSelection(self) -> FaceContourSelection: """ - pass - @property - def partType(self) -> MachinePartTypes: + Creates a new face contour selection and adds it to the end of the collection. + Returns newly created FaceContourSelection. """ - Get the type of part this input will create. + return FaceContourSelection() + def createNewSilhouetteSelection(self) -> SilhouetteSelection: """ - return MachinePartTypes() - @property - def axisInput(self) -> MachineAxisInput: + Creates a new silhouette selection and adds it to the end of the collection. + Returns newly created SilhouetteSelection. """ - Get or Set an axis input object to create a new MachineAxis with this part. - Only valid when partType is Axis. + return SilhouetteSelection() + def createNewPocketSelection(self) -> PocketSelection: """ - return MachineAxisInput() - @axisInput.setter - def axisInput(self, value: MachineAxisInput): + Creates a new pocket selection and adds it to the end of the collection. + Returns newly created PocketSelection. """ - Get or Set an axis input object to create a new MachineAxis with this part. - Only valid when partType is Axis. + 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() + def remove(self, index: int) -> None: + """ + Function that removes the specified curve selection object using an index in the collection. + index : The index of the item within the collection to remove. The first item in the collection has an index of 0. """ pass + def removeByObject(self, selection: CurveSelection) -> None: + """ + Function that removes the specified curve selection object from the collection. + selection : The item within the collection to remove. Throws an exception if the curve selection is not part of the given selection. + """ + pass + @property + def count(self) -> int: + """ + The number of items in the collection. + """ + return int() -class MachineParts(core.Base): +class DocumentStockMaterialLibrary(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 + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + DocumentStockMaterialLibrary provides access to stock materials used by the document. """ def __init__(self): pass @staticmethod - def cast(arg) -> MachineParts: - return MachineParts() - 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 - 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. + def cast(arg) -> DocumentStockMaterialLibrary: + return DocumentStockMaterialLibrary() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> StockMaterial: + return None + def __iter__(self) -> Iterator[StockMaterial]: + return None + def item(self, index: int) -> StockMaterial: + """ + Get StockMaterial by index in DocumentStockMaterialLibrary. + index : Index of the StockMaterial in the DocumentStockMaterialLibrary. + Returns the StockMaterial in the DocumentStockMaterialLibrary by given index. + """ + return StockMaterial() + def setupsByStockMaterial(self, stockMaterial: StockMaterial) -> list[Setup]: + """ + Returns all setups that use the given StockMaterial. The StockMaterial must exist in the document StockMaterial library. + Raises an error if the StockMaterial is not in the document. + stockMaterial : The StockMaterial to search for setups. The StockMaterial must exist in the document. + Returns setups using a specific StockMaterial. + """ + return [Setup()] + def update(self, stockMaterial: StockMaterial) -> bool: + """ + Update the given StockMaterial in the document StockMaterial library. The update applies all changes to the + stockMaterial in the document stockMaterial library and therefore on all setups that use the stockMaterial. + Will error if the stockMaterial does not exist in the document stockMaterial library. + stockMaterial : The StockMaterial that should be updated. + Returns true if the update was successful. """ - return MachinePart() - def createPartInput(self, partType: MachinePartTypes) -> MachinePartInput: + return bool() + @property + def count(self) -> int: """ - Create a new MachinePartInput. - partType : The type of part to create. - When this parameter is Axis, you must set a value for axisInput. - Returns the new MachinePartInput or null if creation failed. + The number of StockMaterial in the DocumentStockMaterialLibrary. """ - return MachinePartInput() - def item(self, index: int) -> MachinePart: + return int() + +class GeneratedData(core.Base): + """ + 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) -> GeneratedData: + return GeneratedData() + +class GeneratedDataCollection(core.Base): + """ + 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) -> 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: """ - Get the part at index in this collection. - index : The index of the part. - The MachinePart at index. + Gets the desired generated data at the given index. """ - return MachinePart() - def itemById(self, id: str) -> MachinePart: + return GeneratedData() + def itemByIdentifier(self, resultType: GeneratedDataType) -> GeneratedData: """ - Get the part with the given ID. - id : The ID for the part to get. - Returns the MachinePart with the given ID, or null if the given ID does not - match any part in the collection. + Gets the desired generated data. Generated result objects are unique for a given identifier, but may contain any number of child objects. """ - return MachinePart() + return GeneratedData() @property def count(self) -> int: """ - Get the number of parts in this collection. + The number of items in the collection. """ return int() -class MachiningTime(core.Base): +class GenerateToolpathFuture(core.Base): """ - Object returned when using the getMachiningTime method from the CAM class. - Use the properties on this object to get the machining time results. + Used to check the state and get back the results of an operation generation. """ def __init__(self): pass @staticmethod - def cast(arg) -> MachiningTime: - return MachiningTime() + def cast(arg) -> GenerateToolpathFuture: + return GenerateToolpathFuture() @property - def feedDistance(self) -> float: + def numberOfOperations(self) -> int: """ - Gets the feed distance in centimeters. + Returns the number of operations that need to be generated. """ - return float() + return int() @property - def totalFeedTime(self) -> float: + def numberOfCompleted(self) -> int: """ - Get the total feed time in seconds. + Returns the number of operations whose generation is complete. """ - return float() + return int() @property - def rapidDistance(self) -> float: + def operations(self) -> Operations: """ - Gets the calculated rapid distance in centimeters. + Returns a collection of all operations that need to be generated. """ - return float() + return Operations() @property - def totalRapidTime(self) -> float: + def isGenerationCompleted(self) -> bool: """ - Gets the total rapid feed time in seconds. + Returns true if all operations are generated. """ - return float() + return bool() @property - def toolChangeCount(self) -> int: + def numberOfTasks(self) -> int: """ - Gets the number of tool changes. + Returns the number of tasks of operations that need to be generated. """ return int() @property - def totalToolChangeTime(self) -> float: - """ - Gets the total tool change time in seconds. - """ - return float() - @property - def machiningTime(self) -> float: + def numberOfCompletedTasks(self) -> int: """ - Gets the machining time in seconds. + Returns the number of tasks of operations whose generation is complete. """ - return float() + return int() -class NetworkMachineIntegrationInput(core.Base): +class GeometrySelection(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. + 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) -> NetworkMachineIntegrationInput: - return NetworkMachineIntegrationInput() - @staticmethod - def create(displayName: str, description: str) -> NetworkMachineIntegrationInput: + def cast(arg) -> GeometrySelection: + return GeometrySelection() + @property + def value(self) -> list[core.Base]: """ - 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. + 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. + For OperationInputs, the return value may not be the same as for Operations, as additional geometry selected by child classes is not evaluated for OperationInputs. """ - return NetworkMachineIntegrationInput() + return [core.Base()] @property - def displayName(self) -> str: + def hasWarning(self) -> bool: """ - Gets and sets the display name of the addin that appears in the 'vendor' dropdown in - the 'Find network machines' dialog. + Gets if warnings were encountered when applying the selection to a parent. """ - return str() - @displayName.setter - def displayName(self, value: str): + return bool() + @property + def hasError(self) -> bool: """ - Gets and sets the display name of the addin that appears in the 'vendor' dropdown in - the 'Find network machines' dialog. + Gets if errors were encountered when applying the selection to a a parent. """ - pass + return bool() @property - def description(self) -> str: + def warning(self) -> str: """ - Gets and sets the description of the addin + Gets the last warning string encountered after the selection was applied to a parent. """ return str() - @description.setter - def description(self, value: str): + @property + def error(self) -> str: """ - Gets and sets the description of the addin + Gets the last warning string encountered after the selection was applied to a parent. """ - pass + return str() -class NetworkMachineIntegrationManager(core.Base): +class Machine(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. + Object that represents a machine. """ def __init__(self): pass @staticmethod - def cast(arg) -> NetworkMachineIntegrationManager: - return NetworkMachineIntegrationManager() - def registerNetworkMachineIntegration(self, networkMachineIntegrationInput: NetworkMachineIntegrationInput) -> bool: + def cast(arg) -> Machine: + return Machine() + @staticmethod + def createFromTemplate(machineTemplate: MachineTemplate) -> Machine: """ - 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. + Creates a Machine from a template. + machineTemplate : The template to act as a base for creating a machine from. + Returns the newly created machine with a valid kinematics tree. """ - return bool() - @property - def searchNetworkMachinesEvent(self) -> SearchNetworkMachinesEvent: + return Machine() + @staticmethod + def createFromFile(location: LibraryLocations, filePath: str) -> Machine: """ - 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. + Creates a Machine from a file. + location : The location in the machine library. + filePath : The path to a file to act as a base for creating a machine from. + The path is relative to the library location given, unless library location is External, + then the filePath is expected to be an absolute path. + Returns the newly created machine with a valid kinematics tree. """ - return SearchNetworkMachinesEvent() - @property - def createMachineConfigurationsEvent(self) -> CreateMachineConfigurationsEvent: + return Machine() + @staticmethod + def create(machineInput: MachineInput) -> Machine: """ - 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. + 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 CreateMachineConfigurationsEvent() - -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() - @property - def name(self) -> str: + return Machine() + def equivalentTo(self, machine: Machine) -> bool: """ - 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. + Checks if the machine is equivalent to this one. + machine : The machine to compare this one to + True if the machines are equivalent """ - return str() - @name.setter - def name(self, value: str): + return bool() + def clearSimulationModel(self) -> None: """ - 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. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Clears the simulation model from the machine. """ pass @property - def isProtected(self) -> bool: + def vendor(self) -> str: """ - Gets and sets the "protected" property value of the operation. - Gets/sets true if the operation is protected. + Gets and sets the vendor name of the machine. """ - return bool() - @isProtected.setter - def isProtected(self, value: bool): + return str() + @vendor.setter + def vendor(self, value: str): """ - Gets and sets the "protected" property value of the operation. - Gets/sets true if the operation is protected. + Gets and sets the vendor name of the machine. """ pass @property - def isOptional(self) -> bool: + def model(self) -> str: """ - Gets and sets the "Optional" property value of the operation. - Gets/sets true if the operation is optional. + Gets and sets the model name of the machine. """ - return bool() - @isOptional.setter - def isOptional(self, value: bool): + return str() + @model.setter + def model(self, value: str): """ - Gets and sets the "Optional" property value of the operation. - Gets/sets true if the operation is optional. + Gets and sets the model name of the machine. """ pass @property - def isSuppressed(self) -> bool: + def description(self) -> str: """ - Gets and sets the "Suppressed" property value of the operation. - Gets/sets true if the operation is suppressed. + Gets and sets the description of the machine. """ - return bool() - @isSuppressed.setter - def isSuppressed(self, value: bool): + return str() + @description.setter + def description(self, value: str): """ - Gets and sets the "Suppressed" property value of the operation. - Gets/sets true if the operation is suppressed. + Gets and sets the description of the machine. """ pass @property - def parentSetup(self) -> Setup: + def id(self) -> str: """ - Gets the Setup this operation belongs to. + Gets the unique identifier of the machine. + Can be used for comparing machines within the document. """ - return Setup() + return str() @property - def isSelected(self) -> bool: + def capabilities(self) -> MachineCapabilities: """ - Gets if this operation is selected in the 'Setups' browser. + Gets the capabilities of the machine. """ - return bool() + return MachineCapabilities() @property - def notes(self) -> str: + def hasPost(self) -> bool: """ - Gets and sets the notes of the operation. + Checks if the machine has a post. + Returns a boolean telling if the Machine has a post assigned. """ - return str() - @notes.setter - def notes(self, value: str): + return bool() + @property + def postURL(self) -> core.URL: """ - Gets and sets the notes of the operation. + 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 operationId(self) -> int: + return core.URL() + @postURL.setter + def postURL(self, value: core.URL): """ - 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 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 int() + pass @property - def parameters(self) -> CAMParameters: + def elements(self) -> MachineElements: """ - Gets the CAMParameters collection for this operation. + Gets the list of elements that make up this machine. """ - return CAMParameters() + return MachineElements() @property - def attributes(self) -> core.Attributes: + def hasSimulationModel(self) -> bool: """ - Returns the collection of attributes associated with this object. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns true if the machine has a simulation model attached. """ - return core.Attributes() + return bool() -class Operations(core.Base): +class MachineAvoidGroups(core.Base): """ - Collection that provides access to the individual operations within an existing setup, folder or pattern. + Collection of all the mutually exclusive surface groups to be passed to a toolpath with stock to leave and avoid clearances associated to them. + This is a read-only container that gets passed to CadMachineAvoidGroupsParameterValue object. + It returns the groups 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, CadMachineAvoidGroupsParameterValue.applyMachineAvoidGroups() needs to be called. """ def __init__(self): pass @staticmethod - def cast(arg) -> Operations: - return Operations() - 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. + def cast(arg) -> MachineAvoidGroups: + return MachineAvoidGroups() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> MachineAvoidSelectionBase: + return None + def __iter__(self) -> Iterator[MachineAvoidSelectionBase]: + return None + def item(self, index: int) -> MachineAvoidSelectionBase: + """ + Function that returns the specified machine/avoid group 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. """ - return Operation() - def itemByName(self, name: str) -> Operation: + return MachineAvoidSelectionBase() + def defaultGroup(self, type: DefaultGroupType) -> MachineAvoidSelectionBase: """ - 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. + Function that returns the specified machine/avoid default group selection object using the group type. + Default groups contain surfaces that have a specific meaning within the toolpath operation, for example Model, Fixture, Drive etc. + type : The type of the default group within the collection to return. There can be only one default group of a given type + Returns the specified item or null if there isn't a group of the specified type """ - return Operation() - def itemByOperationId(self, id: int) -> Operation: + return MachineAvoidSelectionBase() + def clear(self) -> None: """ - 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. + Clears all entries. """ - return Operation() - @property - def count(self) -> int: + pass + def createNewMachineAvoidDirectSelectionGroup(self) -> MachineAvoidDirectSelection: """ - The number of items in the collection. + Creates a new machine avoid group and adds it to the end of the collection. + Returns newly created MachineAvoidDirectSelection. + """ + return MachineAvoidDirectSelection() + def remove(self, index: int) -> None: + """ + Function that removes the specified group object using an index in the collection. + index : The index of the item within the collection to remove. The first item in the collection has an index of 0. + """ + pass + def removeByObject(self, group: MachineAvoidSelectionBase) -> None: + """ + Function that removes the specified group object from the collection. + selection : The item within the collection to remove. Throws an exception if the machine avoid group is not part of the given selection. + """ + pass + def sync(self) -> None: + """ + Function that synchronizes the selections and properties of the default groups from the current operation. + This is needed when there are changes made to parameters that drive the default groups (e.g. Setup model or fixture + selection changes to be reflected in the MachineAvoidGroups object on the API side). + WARNING: This function must not be called before applyMachineAvoidGroups, because temporary + group settings and selections will not have been stored in the operation object and will + be overwritten. """ - return int() - -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: + def count(self) -> int: """ - Get the parameter object that the value is associated with. + The number of items in the collection. """ - return core.Base() + return int() -class PostProcessInput(core.Base): +class MachineAxis(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. + Abstract base class representing a single machine axis. """ 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() + def cast(arg) -> MachineAxis: + return MachineAxis() @property - def programName(self) -> str: + def name(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. + The name of this axis. """ return str() - @programName.setter - def programName(self, value: str): + @name.setter + def name(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. + The name of this axis. """ pass @property - def programComment(self) -> str: + def axisType(self) -> MachineAxisTypes: """ - Gets and sets the program comment. The default value for this property is an empty string (""). + The type of axis. """ - return str() - @programComment.setter - def programComment(self, value: str): + return MachineAxisTypes() + @property + def hasLimits(self) -> bool: """ - Gets and sets the program comment. The default value for this property is an empty string (""). + Does this axis have a limited range of motion. """ - pass + return bool() @property - def postConfiguration(self) -> str: + def homePosition(self) -> float: """ - Gets and sets the full filename (including the path) for the post configuration file (.cps) + Specifies the value that this axis returns to when the machine is homed. + Units are cm for linear axes or radians for rotary axes. + Will return NaN if home position isn't set. """ - return str() - @postConfiguration.setter - def postConfiguration(self, value: str): + return float() + @homePosition.setter + def homePosition(self, value: float): """ - Gets and sets the full filename (including the path) for the post configuration file (.cps) + Specifies the value that this axis returns to when the machine is homed. + Units are cm for linear axes or radians for rotary axes. + Will return NaN if home position isn't set. """ pass @property - def outputFolder(self) -> str: + def physicalRange(self) -> MachineAxisRange: """ - Gets and sets the path for the output folder where the .cnc files will be located. + Range of possible values for this axis. + Units are cm for linear axes or radians for rotary axes. """ - return str() - @outputFolder.setter - def outputFolder(self, value: str): + return MachineAxisRange() + @physicalRange.setter + def physicalRange(self, value: MachineAxisRange): """ - Gets and sets the path for the output folder where the .cnc files will be located. + Range of possible values for this axis. + Units are cm for linear axes or radians for rotary axes. """ pass @property - def outputUnits(self) -> PostOutputUnitOptions: + def toolChangePosition(self) -> float: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specifies the value that this axis returns to, prior to a tool change. + Units are cm for linear axes or radians for rotary axes. + Will return NaN if tool change position isn't set. + """ + return float() + @toolChangePosition.setter + def toolChangePosition(self, value: float): """ - Gets and sets the units option for the cnc output. - Valid options are DocumentUnitsOutput, InchesOutput or MillimetersOutput + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specifies the value that this axis returns to, prior to a tool change. + Units are cm for linear axes or radians for rotary axes. + Will return NaN if tool change position isn't set. """ - return PostOutputUnitOptions() - @outputUnits.setter - def outputUnits(self, value: PostOutputUnitOptions): + 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: """ - Gets and sets the units option for the cnc output. - Valid options are DocumentUnitsOutput, InchesOutput or MillimetersOutput + Delete this axis configuration from the controller configuration. """ pass @property - def isOpenInEditor(self) -> bool: + def partId(self) -> str: + """ + ID of the part in the KinematicsMachineElement that this axis configuration modifies. + """ + 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: """ - 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. + 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() - @isOpenInEditor.setter - def isOpenInEditor(self, value: bool): + @isReversed.setter + def isReversed(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. + 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 areToolChangesMinimized(self) -> bool: + def maxNormalSpeed(self) -> float: """ - 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 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 bool() - @areToolChangesMinimized.setter - def areToolChangesMinimized(self, value: bool): + return float() + @maxNormalSpeed.setter + def maxNormalSpeed(self, value: float): """ - 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 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 postProperties(self) -> core.NamedValues: + def maxRapidSpeed(self) -> float: """ - 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. + 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 core.NamedValues() - @postProperties.setter - def postProperties(self, value: core.NamedValues): + return float() + @maxRapidSpeed.setter + def maxRapidSpeed(self, value: float): """ - 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. + 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 machine(self) -> Machine: + def coordinate(self) -> MachineAxisCoordinates: """ - 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. + Coordinate to use for post processing. """ - return Machine() - @machine.setter - def machine(self, value: Machine): + return MachineAxisCoordinates() + @coordinate.setter + def coordinate(self, value: MachineAxisCoordinates): """ - 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. + Coordinate to use for post processing. """ pass -class SandvikIntegration(core.Base): +class MachineAxisConfigurations(core.Base): """ - This singleton object provides access to application-level events and properties - that relate to the CAM (Manufacture) workspace in Fusion 360. + Collection of axis configuration objects. """ def __init__(self): pass @staticmethod - def cast(arg) -> SandvikIntegration: - return SandvikIntegration() + 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): + """ + Object that defines the properties required to create a machine axis object. + """ + def __init__(self): + pass @staticmethod - def get() -> SandvikIntegration: + def cast(arg) -> MachineAxisInput: + return MachineAxisInput() + @property + def axisType(self) -> MachineAxisTypes: """ - Access to the root CAMGlobal object. - Return the root SandvikIntegration object or null if it failed. + The type of axis. + This axis type determines which parameters of this object are valid to be accessed + or modified. """ - return SandvikIntegration() - def getStockMaterialId(self, setup: Setup) -> str: + return MachineAxisTypes() + @property + def name(self) -> str: """ - 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. + The user facing name of this axis. """ return str() - def setStockMaterialId(self, setup: Setup, id: str) -> bool: + @name.setter + def name(self, value: str): """ - Set the stock material id for the Setup. - setup : The Setup object to set the stock material id for. - Returns true if successful. + The user facing name of this axis. """ - return bool() - def getStockMaterialText(self, setup: Setup) -> str: + pass + @property + def homePosition(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. + 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 str() - def setStockMaterialText(self, setup: Setup, text: str) -> bool: + return float() + @homePosition.setter + def homePosition(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. + 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 bool() + pass @property - def preIntegrationEvent(self) -> SandvikPreIntegrationEvent: + def physicalRange(self) -> MachineAxisRange: """ - 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. + Range of possible values for this axis. + Units are cm for linear axes or radians for rotary axes. """ - return SandvikPreIntegrationEvent() - @property - def integrationEvent(self) -> SandvikIntegrationEvent: + return MachineAxisRange() + @physicalRange.setter + def physicalRange(self, value: MachineAxisRange): """ - 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. + Range of possible values for this axis. + Units are cm for linear axes or radians for rotary axes. """ - return SandvikIntegrationEvent() + pass @property - def settings(self) -> str: + def toolChangePosition(self) -> float: """ - Provides a mechanism to store and retrieve user-specific information as a hidden system preference. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specifies the value that this axis returns to, prior to a tool change. + Units are cm for linear axes or radians for rotary axes. """ - return str() - @settings.setter - def settings(self, value: str): + return float() + @toolChangePosition.setter + def toolChangePosition(self, value: float): """ - Provides a mechanism to store and retrieve user-specific information as a hidden system preference. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specifies the value that this axis returns to, prior to a tool change. + Units are cm for linear axes or radians for rotary axes. """ pass -class SandvikIntegrationEventHandler(core.EventHandler): +class MachineAxisRange(core.Base): """ - Event handler for the SandvikIntegrationEvent event. + Class representing limits of motion for a machine axis. """ def __init__(self): pass @staticmethod - def cast(arg) -> SandvikIntegrationEventHandler: - return SandvikIntegrationEventHandler() - def notify(self, eventArgs: SandvikIntegrationEventArgs) -> None: + def cast(arg) -> MachineAxisRange: + return MachineAxisRange() + @staticmethod + def create(min: float, max: float) -> MachineAxisRange: """ - 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. + 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. """ - pass + return MachineAxisRange() + @staticmethod + def createInfinite() -> MachineAxisRange: + """ + Creates a new unbounded range object. + A new range object. + """ + return MachineAxisRange() + @property + def min(self) -> float: + """ + 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() + @property + def max(self) -> float: + """ + 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. + """ + return float() + @property + def isInfinite(self) -> bool: + """ + Is the range infinite. + """ + return bool() -class SandvikPreIntegrationEventHandler(core.EventHandler): +class MachineCapabilities(core.Base): """ - Event handler for the SandvikPreIntegrationEvent event. + Object that represents the capabilities of the machine. """ def __init__(self): pass @staticmethod - def cast(arg) -> SandvikPreIntegrationEventHandler: - return SandvikPreIntegrationEventHandler() - def notify(self, eventArgs: SandvikPreIntegrationEventArgs) -> None: + def cast(arg) -> MachineCapabilities: + return MachineCapabilities() + @property + def isMillingSupported(self) -> bool: """ - 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. + Gets and sets if the machine is capable of subtractive milling. + """ + return bool() + @isMillingSupported.setter + def isMillingSupported(self, value: bool): + """ + Gets and sets if the machine is capable of subtractive milling. """ pass - -class SearchNetworkMachinesEventHandler(core.EventHandler): - """ - Event handler for the SearchNetworkMachinesEvent event. - """ - def __init__(self): + @property + def isTurningSupported(self) -> bool: + """ + Gets and sets if the machine is capable of subtractive turning. + """ + return bool() + @isTurningSupported.setter + def isTurningSupported(self, value: bool): + """ + Gets and sets if the machine is capable of subtractive turning. + """ pass - @staticmethod - def cast(arg) -> SearchNetworkMachinesEventHandler: - return SearchNetworkMachinesEventHandler() - def notify(self, eventArgs: SearchNetworkMachinesEventArgs) -> None: + @property + def isCuttingSupported(self) -> bool: + """ + Gets and sets if the machine is capable of subtractive cutting. + """ + return bool() + @isCuttingSupported.setter + def isCuttingSupported(self, value: bool): + """ + Gets and sets if the machine is capable of subtractive cutting. + """ + pass + @property + def isAdditiveSupported(self) -> bool: """ - 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. + 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 SetupChangeEventHandler(core.EventHandler): +class MachineElement(core.Base): """ - The SetupChangeEventHandler is a client implemented class that can be added as a handler to a - SetupChangeEvent. + Base class for objects that compose a machine. """ def __init__(self): pass @staticmethod - def cast(arg) -> SetupChangeEventHandler: - return SetupChangeEventHandler() - def notify(self, eventArgs: SetupChangeEventArgs) -> None: + def cast(arg) -> MachineElement: + return MachineElement() + @property + def elementId(self) -> 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. + Identifier for this element. Unique within an element type. """ - pass + return str() + @property + def typeId(self) -> str: + """ + Identifier for this type of machine element. + """ + return str() -class SetupEventHandler(core.EventHandler): +class MachineElementInput(core.Base): """ - The SetupEventHandler is a client implemented class that can be added as a handler to a - SetupEvent. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Base class for machine element inputs. """ def __init__(self): pass @staticmethod - def cast(arg) -> SetupEventHandler: - return SetupEventHandler() - def notify(self, eventArgs: SetupEventArgs) -> None: + def cast(arg) -> MachineElementInput: + return MachineElementInput() + @property + def inputType(self) -> MachineElementInputType: """ - 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. + The type of machine element this input will create. """ - pass + return MachineElementInputType() -class Setups(core.Base): +class MachineElements(core.Base): """ - Collection that provides access to all of the existing setups in a document. + Collection of machine elements. + These elements contain the properties that define the machine. """ 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. + 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. """ - return Setup() - def itemByName(self, name: str) -> Setup: + return int() + def createMachineElementInput(self, type: MachineElementInputType) -> MachineElementInput: """ - 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. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Create a new MachineElementInput object for the specified type. + This is intedned to be used to create/add new machine elements. + type : The type of machine element to create the input for + A MachineElementInput object """ - return Setup() - def itemByOperationId(self, id: int) -> Setup: + return MachineElementInput() + def addElement(self, input: MachineElementInput) -> MachineElement: """ - 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. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Add a new machine element to the machine. + input : A specialization of MachineElementInput class that contains the properties required to create a new machine element. + The created MachineElement """ - return Setup() + return MachineElement() @property def count(self) -> int: """ - The number of setups in the collection. + Total number of elements in collection. """ return int() -class BooleanParameterValue(ParameterValue): +class MachineInput(core.Base): """ - A parameter value that is a boolean. + 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) -> BooleanParameterValue: - return BooleanParameterValue() - @property - def value(self) -> bool: - """ - Get or set the value of the parameter. - """ - return bool() - @value.setter - def value(self, value: bool): + def cast(arg) -> MachineInput: + return MachineInput() + +class MachineInteractionPair(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + MachineInteractionPair objects control how a pair of MachineItems interact with each other. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MachineInteractionPair: + return MachineInteractionPair() + def reset(self) -> bool: + """ + Clear this MachineInteractionPair. + This pair will then represent two MachineItems that do not interact. + """ + return bool() + @property + def item1(self) -> MachineItem: + """ + The first MachineItem involved in this MachineInteractionPair. + Returns a MachineItem. + """ + return MachineItem() + @property + def item2(self) -> MachineItem: + """ + The second MachineItem involved in this MachineInteractionPair. + Returns a MachineItem. + """ + return MachineItem() + @property + def isCheckedForCollisions(self) -> bool: + """ + Whether these MachineItems should be checked for collisions. + Returns true if the two MachineItems should be checked for collisions. + """ + return bool() + @isCheckedForCollisions.setter + def isCheckedForCollisions(self, value: bool): + """ + Whether these MachineItems should be checked for collisions. + Returns true if the two MachineItems should be checked for collisions. + """ + pass + @property + def isIgnored(self) -> bool: + """ + Whether this MachineInteractionPair will be ignored. + Returns true if this MachineInteractionPair represents + a pair of MachineItems that do not interact. + """ + return bool() + +class MachineItem(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + An item on a machine that can collide. + That is, a MachinePart, or something attached to a MachinePart. + Create them via InteractionsMachineElement::createMachineItem + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MachineItem: + return MachineItem() + @property + def itemType(self) -> MachineItemType: + """ + The type of this MachineItem. + """ + return MachineItemType() + @property + def part(self) -> MachinePart: + """ + The machine part. + """ + return MachinePart() + +class MachinePart(core.Base): + """ + Object representing some part of a machine, such as the static base of the machine, an + axis, or the attachment points for tools and fixtures. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MachinePart: + return MachinePart() + def deleteMe(self) -> None: + """ + Delete this part and its children from the kinematics tree. + """ + pass + @property + def children(self) -> MachineParts: + """ + Get the collection of child parts. + """ + return MachineParts() + @property + def parent(self) -> MachinePart: + """ + Get or set the parent of this part. + Returns null if this part is a root 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 of this part. + """ + return MachinePart() + @parent.setter + def parent(self, value: MachinePart): + """ + Get or set the parent of this part. + Returns null if this part is a root 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 of this part. + """ + pass + @property + def partType(self) -> MachinePartTypes: + """ + Get the type of this part. + """ + return MachinePartTypes() + @property + def id(self) -> str: + """ + Get the internal ID of the part. + This is unique with respect to other MachineParts in the Machine. + """ + return str() + @property + def axis(self) -> MachineAxis: + """ + Get the axis object for this part used to reference this part for other + operations. + 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() + @property + def toolStation(self) -> MachineToolStation: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Get the tool station object for this part. + Will return null if the part has no tool station assigned. + """ + return MachineToolStation() + +class MachinePartInput(core.Base): + """ + Object representing the set of inputs required to create a new MachinePart. + Set an MachineAxisInput object on this object's axisInput parameter to create + a new MachineAxis with this part. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MachinePartInput: + return MachinePartInput() + def createAxisInput(self, axisType: MachineAxisTypes) -> MachineAxisInput: + """ + 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() + def createToolStationInput(self) -> MachineToolStationInput: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Creates a new MachineToolStationInput object to be used to create a new MachineToolStation. + Returns new MachineToolStationInput object. + """ + return MachineToolStationInput() + @property + def id(self) -> str: + """ + 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. + """ + return str() + @id.setter + def id(self, value: str): + """ + 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. + """ + pass + @property + def partType(self) -> MachinePartTypes: + """ + Get the type of part this input will create. + """ + return MachinePartTypes() + @property + def axisInput(self) -> MachineAxisInput: + """ + 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): + """ + 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 + @property + def toolStationInput(self) -> MachineToolStationInput: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Gets or sets an tool station input object to create a new MachineToolStation with this part. + Only valid when partType is not Axis. + """ + return MachineToolStationInput() + @toolStationInput.setter + def toolStationInput(self, value: MachineToolStationInput): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Gets or sets an tool station input object to create a new MachineToolStation 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. + """ + 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 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 created MachinePart or null if creation failed. + """ + return MachinePart() + def createPartInput(self, partType: MachinePartTypes) -> MachinePartInput: + """ + Create a new MachinePartInput. + partType : The type of part to create. + When this parameter is Axis, you must set a value for axisInput. + Returns the new MachinePartInput or null if creation failed. + """ + return MachinePartInput() + def item(self, index: int) -> MachinePart: + """ + Get the part at index in this collection. + index : The index of the part. + The MachinePart at index. + """ + return MachinePart() + def itemById(self, id: str) -> MachinePart: + """ + Get the part with the given ID. + id : The ID for the part to get. + Returns the MachinePart with the given ID, or null if the given ID does not + match any part in the collection. + """ + return MachinePart() + @property + def count(self) -> int: + """ + Get the number of parts in this collection. + """ + 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 + @property + def power(self) -> float: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specifies the power (kW) for this spindle. + """ + return float() + @power.setter + def power(self, value: float): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specifies the power (kW) for this spindle. + """ + pass + @property + def peakTorque(self) -> float: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specifies the peak torque (Nm) for this spindle. + """ + return float() + @peakTorque.setter + def peakTorque(self, value: float): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specifies the peak torque (Nm) for this spindle. + """ + pass + @property + def peakTorqueSpeed(self) -> float: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specifies the speed (rpm) at which this spindle reaches peak torque (Nm). + """ + return float() + @peakTorqueSpeed.setter + def peakTorqueSpeed(self, value: float): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specifies the speed (rpm) at which this spindle reaches peak torque (Nm). + """ + 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 + @property + def power(self) -> float: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specifies the power for this spindle. + """ + return float() + @power.setter + def power(self, value: float): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specifies the power for this spindle. + """ + pass + @property + def peakTorque(self) -> float: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specifies the peak torque for this spindle. + """ + return float() + @peakTorque.setter + def peakTorque(self, value: float): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specifies the peak torque for this spindle. + """ + pass + @property + def peakTorqueSpeed(self) -> float: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specifies the peak torque speed for this spindle. + """ + return float() + @peakTorqueSpeed.setter + def peakTorqueSpeed(self, value: float): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specifies the peak torque speed for this spindle. + """ + pass + +class MachineToolStation(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Object representing a tool station on the machine + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MachineToolStation: + return MachineToolStation() + @property + def maxToolDiameter(self) -> float: + """ + The maximum diameter in cm of the tool that can be held by this tool station. + """ + return float() + @maxToolDiameter.setter + def maxToolDiameter(self, value: float): + """ + The maximum diameter in cm of the tool that can be held by this tool station. + """ + pass + @property + def maxToolLength(self) -> float: + """ + The maximum length in cm of the tool that can be held by this tool station. + """ + return float() + @maxToolLength.setter + def maxToolLength(self, value: float): + """ + The maximum length in cm of the tool that can be held by this tool station. + """ + pass + @property + def toolInterface(self) -> str: + """ + The type of interface that this tool station uses. + (e.g. BT40, CAPTO C5, HSK A100, SK50, etc.) + Note: All newline characters will be removed, and if the string contains only ASCII characters, it will be converted to uppercase. + """ + return str() + @toolInterface.setter + def toolInterface(self, value: str): + """ + The type of interface that this tool station uses. + (e.g. BT40, CAPTO C5, HSK A100, SK50, etc.) + Note: All newline characters will be removed, and if the string contains only ASCII characters, it will be converted to uppercase. + """ + pass + @property + def coolants(self) -> list[int]: + """ + The coolants that this tool station can use. + See MachineToolStationCoolant for possible values. + """ + return [int()] + @coolants.setter + def coolants(self, value: list[int]): + """ + The coolants that this tool station can use. + See MachineToolStationCoolant for possible values. + """ + pass + +class MachineToolStationInput(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Object representing the set of inputs required to create a new MachineToolStation. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MachineToolStationInput: + return MachineToolStationInput() + @property + def maxToolDiameter(self) -> float: + """ + The maximum diameter in cm of the tool that can be held by this tool station. + """ + return float() + @maxToolDiameter.setter + def maxToolDiameter(self, value: float): + """ + The maximum diameter in cm of the tool that can be held by this tool station. + """ + pass + @property + def maxToolLength(self) -> float: + """ + The maximum length in cm of the tool that can be held by this tool station. + """ + return float() + @maxToolLength.setter + def maxToolLength(self, value: float): + """ + The maximum length in cm of the tool that can be held by this tool station. + """ + pass + @property + def toolInterface(self) -> str: + """ + The type of interface that this tool station uses. + (e.g. BT40, CAPTO C5, HSK A100, SK50, etc.) + Note: All newline characters will be removed, and if the string contains only ASCII characters, it will be converted to uppercase. + """ + return str() + @toolInterface.setter + def toolInterface(self, value: str): + """ + The type of interface that this tool station uses. + (e.g. BT40, CAPTO C5, HSK A100, SK50, etc.) + Note: All newline characters will be removed, and if the string contains only ASCII characters, it will be converted to uppercase. + """ + pass + @property + def coolants(self) -> list[int]: + """ + The coolants that this tool station can use. + See MachineToolStationCoolant for possible values. + """ + return [int()] + @coolants.setter + def coolants(self, value: list[int]): + """ + The coolants that this tool station can use. + See MachineToolStationCoolant for possible values. + """ + pass + +class MachiningTime(core.Base): + """ + Object returned when using the getMachiningTime method from the CAM class. + Use the properties on this object to get the machining time results. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MachiningTime: + return MachiningTime() + @property + def feedDistance(self) -> float: + """ + Gets the feed distance in centimeters. + """ + return float() + @property + def totalFeedTime(self) -> float: + """ + Get the total feed time in seconds. + """ + return float() + @property + def rapidDistance(self) -> float: + """ + Gets the calculated rapid distance in centimeters. + """ + return float() + @property + def totalRapidTime(self) -> float: + """ + Gets the total rapid feed time in seconds. + """ + return float() + @property + def toolChangeCount(self) -> int: + """ + Gets the number of tool changes. + """ + return int() + @property + def totalToolChangeTime(self) -> float: + """ + Gets the total tool change time in seconds. + """ + return float() + @property + def machiningTime(self) -> float: + """ + Gets the machining time in seconds. + """ + return float() + +class ManufacturingModel(core.Base): + """ + 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) -> ManufacturingModel: + return ManufacturingModel() + def activate(self) -> bool: + """ + 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 bool() + def duplicate(self) -> ManufacturingModel: + """ + 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 ManufacturingModel() + def deleteMe(self) -> bool: + """ + 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. + """ + return bool() + def syncManufacturingModel(self) -> bool: + """ + Checks whether changes to the original design have been made. If so, the given manufacturing model is synchronized with its source. + Returns true if the manufacturing model needed an update. + """ + return bool() + @property + def name(self) -> str: + """ + 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() + @name.setter + def name(self, value: str): + """ + Gets or sets the display name of the ManufacturingModel. + This is the name that will be shown in the browser and other locations. + """ + pass + @property + def id(self) -> str: + """ + Gets the unique identifier of the ManufacturingModel within the document. + """ + return str() + @property + def isActive(self) -> bool: + """ + 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 bool() + @property + def occurrence(self) -> fusion.Occurrence: + """ + Returns the occurrence for that ManufacturingModel. + Returns true Occurrence for the current ManufacturingModel. + """ + return fusion.Occurrence() + +class ManufacturingModelInput(core.Base): + """ + This class defines the methods and properties that pertain to the definition of a ManufacturingModel. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ManufacturingModelInput: + return ManufacturingModelInput() + @property + def name(self) -> str: + """ + Name of the new ManufacturingModel. + The name is displayed in the browser tree. + """ + return str() + @name.setter + def name(self, value: str): + """ + Name of the new ManufacturingModel. + The name is displayed in the browser tree. + """ + pass + +class ManufacturingModels(core.Base): + """ + Referenced from CAM product to access manufacturing models in document. + """ + def __init__(self): + pass + @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: + """ + Get ManufacturingModel by index in collection. + Returns ManufacturingModel at given index. + """ + return ManufacturingModel() + def itemByName(self, name: str) -> list[ManufacturingModel]: + """ + 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. + """ + return [ManufacturingModel()] + def itemById(self, id: str) -> ManufacturingModel: + """ + 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 ManufacturingModel() + def createInput(self) -> ManufacturingModelInput: + """ + 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. + """ + return ManufacturingModelInput() + def add(self, input: ManufacturingModelInput) -> ManufacturingModel: + """ + 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 ManufacturingModel() + def syncAllManufacturingModels(self) -> bool: + """ + Checks wether changes to the original design have been made. If so, all manufacturing models are synchronized with their sources. + Returns true if any manufacturing model needed an update. + """ + return bool() + @property + def count(self) -> int: + """ + The number of items in the collection. + """ + return int() + +class ModifyUtility(core.Base): + """ + Base class for all modify utilities. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ModifyUtility: + return ModifyUtility() + +class MultiAxisFeedrateSettings(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Base class for the multi-axis feedrate settings + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MultiAxisFeedrateSettings: + return MultiAxisFeedrateSettings() + @property + def feedMode(self) -> MultiAxisFeedMode: + """ + The feedmode to use for the multi axis. + """ + return MultiAxisFeedMode() + +class MultiAxisFeedrateSettingsInput(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Input class for creating MultiAxisFeedrateSettings objects. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MultiAxisFeedrateSettingsInput: + return MultiAxisFeedrateSettingsInput() + @property + def feedMode(self) -> MultiAxisFeedMode: + """ + The feed mode to use for the multi-axis feedrate settings. + Determines the type of MultiAxisFeedrateSettings that will be created. + """ + return MultiAxisFeedMode() + @feedMode.setter + def feedMode(self, value: MultiAxisFeedMode): + """ + The feed mode to use for the multi-axis feedrate settings. + Determines the type of MultiAxisFeedrateSettings that will be created. + """ + pass + @property + def dpmType(self) -> MultiAxisDegreesPerMinuteType: + """ + If the feedMode is MultiAxisFeedMode.MultiAxisFeedMode_DegreesPerMinute, + determines what type of MultiAxisCombinationDPMFeedrateSettings will create. + """ + return MultiAxisDegreesPerMinuteType() + @dpmType.setter + def dpmType(self, value: MultiAxisDegreesPerMinuteType): + """ + If the feedMode is MultiAxisFeedMode.MultiAxisFeedMode_DegreesPerMinute, + determines what type of MultiAxisCombinationDPMFeedrateSettings will create. + """ + pass + +class MultiAxisRetractAndReconfigureSettings(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Settings for multi-axis retract and reconfigure. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MultiAxisRetractAndReconfigureSettings: + return MultiAxisRetractAndReconfigureSettings() + @property + def rewindPreference(self) -> MultiAxisRewindPreference: + """ + The rewind preferece. See MultiAxisRewindPreference values for more details. + """ + return MultiAxisRewindPreference() + @rewindPreference.setter + def rewindPreference(self, value: MultiAxisRewindPreference): + """ + The rewind preferece. See MultiAxisRewindPreference values for more details. + """ + pass + @property + def retractPreference(self) -> MultiAxisRetractPreference: + """ + The retract preference. See MultiAxisRetractPreference values for more details. + """ + return MultiAxisRetractPreference() + @retractPreference.setter + def retractPreference(self, value: MultiAxisRetractPreference): + """ + The retract preference. See MultiAxisRetractPreference values for more details. + """ + pass + @property + def stockExpansion(self) -> core.Vector3D: + """ + Defines the stock expansion for computing retract moves in rewinds. + """ + return core.Vector3D() + @stockExpansion.setter + def stockExpansion(self, value: core.Vector3D): + """ + Defines the stock expansion for computing retract moves in rewinds. + """ + pass + @property + def safeRetractDistance(self) -> float: + """ + The length of the retract moves along the tool axis, to perform a rewind. + """ + return float() + @safeRetractDistance.setter + def safeRetractDistance(self, value: float): + """ + The length of the retract moves along the tool axis, to perform a rewind. + """ + pass + @property + def safeRetractFeedrate(self) -> float: + """ + The safe retract feedrate for retract moves. + (cm/min) + """ + return float() + @safeRetractFeedrate.setter + def safeRetractFeedrate(self, value: float): + """ + The safe retract feedrate for retract moves. + (cm/min) + """ + pass + @property + def safePlungeFeedrate(self) -> float: + """ + The safe plunge feedrate for plunge moves. + A plunge rate is the speed at which the tool is driven down into the material when starting a cut. + It varies depending on the tool and material. Plunging too fast may damage the tip of the cutter. + (cm/min) + """ + return float() + @safePlungeFeedrate.setter + def safePlungeFeedrate(self, value: float): + """ + The safe plunge feedrate for plunge moves. + A plunge rate is the speed at which the tool is driven down into the material when starting a cut. + It varies depending on the tool and material. Plunging too fast may damage the tip of the cutter. + (cm/min) + """ + pass + +class MultiAxisSingularityLinearizationSettings(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + The class for the multi-axis singularity linearization settings. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MultiAxisSingularityLinearizationSettings: + return MultiAxisSingularityLinearizationSettings() + @property + def linearizeMethod(self) -> MultiAxisSingularityLinearizeMethod: + """ + The linearization method to use for the multi-axis singularity settings. + """ + return MultiAxisSingularityLinearizeMethod() + @linearizeMethod.setter + def linearizeMethod(self, value: MultiAxisSingularityLinearizeMethod): + """ + The linearization method to use for the multi-axis singularity settings. + """ + pass + @property + def linearizationTolerance(self) -> float: + """ + The linearization tolerance for the multi-axis singularity settings. + """ + return float() + @linearizationTolerance.setter + def linearizationTolerance(self, value: float): + """ + The linearization tolerance for the multi-axis singularity settings. + """ + pass + +class MultiAxisSingularitySettings(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Base class for multi-axis singularity settings. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MultiAxisSingularitySettings: + return MultiAxisSingularitySettings() + def createLinearizationSettings(self) -> MultiAxisSingularityLinearizationSettings: + """ + Creates a MultiAxisSingularityLinearizationSettings object. + Set this object on the linearizationSettings property to apply the changes. + The MultiAxisSingularityLinearizationSettings object created. + """ + return MultiAxisSingularityLinearizationSettings() + @property + def cone(self) -> float: + """ + The angular distance range between the tool axis vector and the singularity point before the singularity is adjusted. + Typically, the angular distance is less than 5 degrees. + The further the tool axis is from the singularity, the less visible the fluctuations in the rotary axes are. + Value is in radians. + """ + return float() + @cone.setter + def cone(self, value: float): + """ + The angular distance range between the tool axis vector and the singularity point before the singularity is adjusted. + Typically, the angular distance is less than 5 degrees. + The further the tool axis is from the singularity, the less visible the fluctuations in the rotary axes are. + Value is in radians. + """ + pass + @property + def angle(self) -> float: + """ + The minimum angular delta movement for the rotary axes before the singularity is adjusted. + When fluctuations of the rotary axes are insignificant, this limit prevents adjustment of the tool axis vector. + Typically set to 10 degrees or more. + Value is in radians. + """ + return float() + @angle.setter + def angle(self, value: float): + """ + The minimum angular delta movement for the rotary axes before the singularity is adjusted. + When fluctuations of the rotary axes are insignificant, this limit prevents adjustment of the tool axis vector. + Typically set to 10 degrees or more. + Value is in radians. + """ + pass + @property + def tolerance(self) -> float: + """ + The tolerance value for converting simultaneous multi-axis movements to linear movements when the tool axis is near a singularity. + """ + return float() + @tolerance.setter + def tolerance(self, value: float): + """ + The tolerance value for converting simultaneous multi-axis movements to linear movements when the tool axis is near a singularity. + """ + pass + @property + def linearizationSettings(self) -> MultiAxisSingularityLinearizationSettings: + """ + The settings for linearization of moves around the singularity. + See MultiAxisSingularityLinearizeMethod for more details. + Set this to null to not use linearization. + For changes to to this object to take effect, re-assign them to this property. + """ + return MultiAxisSingularityLinearizationSettings() + @linearizationSettings.setter + def linearizationSettings(self, value: MultiAxisSingularityLinearizationSettings): + """ + The settings for linearization of moves around the singularity. + See MultiAxisSingularityLinearizeMethod for more details. + Set this to null to not use linearization. + For changes to to this object to take effect, re-assign them to this property. + """ + pass + +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. + When the list of operations is associated to one setup and the setup has defined its job_programName or job_programComment parameters, + then those values are applied to the nc_program_name and nc_program_comment parameters accordingly. + """ + 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. + When the list of operations is associated to one setup and the setup has defined its job_programName or job_programComment parameters, + then those values are applied to the nc_program_name and nc_program_comment parameters accordingly. + """ + 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 + @property + def fusionHubExecutionBehavior(self) -> FusionHubExecutionBehaviors: + """ + Gets and sets the post process behavior for exporting to Fusion Hub. + Uses fusionHubExecutionBehavior_ExportWithRelationship by default. + """ + return FusionHubExecutionBehaviors() + @fusionHubExecutionBehavior.setter + def fusionHubExecutionBehavior(self, value: FusionHubExecutionBehaviors): + """ + Gets and sets the post process behavior for exporting to Fusion Hub. + Uses fusionHubExecutionBehavior_ExportWithRelationship 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. + Note: Child classes may overwrite this function and throw an exception if the object cannot be deleted. + Returns true if the delete was successful. + """ + return bool() + def modifyUtility(self, utility: ModifyUtilityTypes) -> ModifyUtility: + """ + 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() + def moveBefore(self, operation: OperationBase) -> bool: + """ + Move operation in tree before the given operation. + Throws an exception if a not allowed move is made for example moving a operation out of a setup. + operation : Operation to move targeted operation before. + Returns if move operation was successful. + """ + return bool() + def moveAfter(self, operation: OperationBase) -> bool: + """ + Move operation in tree after the given operation. + Throws an exception if a not allowed move is made for example moving a operation out of a setup. + operation : Operation to move targeted operation after. + Returns if move operation was successful. + """ + return bool() + def moveInto(self, container: OperationBase) -> bool: + """ + Move operation in tree into the given container. This only works with setups, patterns and folders. + Moved operation will be moved at the end of all operations already in the container. + Throws an exception if a not allowed move is made for example moving a setup into a setup. + container : Container to move targeted operation into. + Returns if move operation was successful. + """ + return bool() + def copyBefore(self, operation: OperationBase) -> bool: + """ + Creates a duplicate of the operation in the tree before the given operation. + Throws an exception if a not allowed copy operation is made for example copying a operation out of a setup. + operation : Operation to copy targeted operation before. + Returns if copy command was successful. + """ + return bool() + def copyAfter(self, operation: OperationBase) -> bool: + """ + Creates a duplicate of the operation in the tree after the given operation. + Throws an exception if a not allowed copy operation is made for example copying a operation out of a setup. + operation : Operation to copy targeted operation after. + Returns if copy command was successful. + """ + return bool() + def copyInto(self, container: OperationBase) -> bool: + """ + Creates a duplicate of the operation into the given container. You can only copy into containers, such as setups or folders. + Copied operation will be copied at the end of all operations already in the container. + Throws an exception if a not allowed copy operation is made for example copying a setup into a setup. + container : Container to copy targeted operation into. + Returns if copy command was successful. + """ + return bool() + def duplicate(self) -> bool: + """ + Creates a duplicate of the operation in the tree after the itself. + Returns if duplicate command was successful. + """ + return bool() + @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 tools. + Setting the tool will overwrite tool parameters in the parameters property. + """ + 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 tools. + Setting the tool will overwrite tool parameters in the parameters property. + """ + 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. + Setting the tool will overwrite a subset of tool parameters in the parameters property. + 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. + Setting the tool will overwrite a subset of tool parameters in the parameters property. + 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() + @property + def isMillingStrategy(self) -> bool: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Gets whether given OperationStrategy is a milling strategy. + """ + return bool() + @property + def isTurningStrategy(self) -> bool: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Gets whether given OperationStrategy is a turning strategy. + """ + return bool() + @property + def isRotaryStrategy(self) -> bool: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Gets whether given OperationStrategy is a rotary strategy. + """ + return bool() + @property + def isDrillingStrategy(self) -> bool: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Gets whether given OperationStrategy is a drilling strategy. + """ + return bool() + @property + def isCuttingStrategy(self) -> bool: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Gets whether given OperationStrategy is a cutting strategy. + """ + return bool() + @property + def is2DStrategy(self) -> bool: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Gets whether given OperationStrategy is a 2D strategy. + """ + return bool() + @property + def is3DStrategy(self) -> bool: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Gets whether given OperationStrategy is a 3D strategy. + """ + return bool() + @property + def isFinishingStrategy(self) -> bool: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Gets whether given OperationStrategy is a finishing strategy. + """ + return bool() + @property + def isAdditiveStrategy(self) -> bool: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Gets whether given OperationStrategy is an additive strategy. + """ + return bool() + @property + def isSupportStrategy(self) -> bool: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Gets whether given OperationStrategy is an additive support strategy. + """ + 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() + @staticmethod + def createFromContent(content: str) -> PostConfiguration: + """ + Creates a PostConfiguration from a file content. + content : The content string of a PostConfiguration file to act as a base for creating a PostConfiguration from. + Returns the newly created 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 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 PrintSettingItem of the specified body preset. + Throws an exception when the name does not match any available PrintSettingItems or when trying to delete the default PrintSettingItem. + 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() + def syncWithMachine(self, machine: Machine) -> bool: + """ + Synchronizes the print setting with the given machine, making extruder parameter options dependent on the available extruders in the machine. + """ + return bool() + def isCompatibleWithMachine(self, machine: Machine) -> bool: + """ + Checks whether the print setting is usable with the given machine. + """ + return bool() + @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 + @property + def machine(self) -> Machine: + """ + The machine specifies which machine the found print setting are compatible with. + """ + return Machine() + @machine.setter + def machine(self, value: Machine): + """ + The machine specifies which machine the found print setting are compatible with. + """ + 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() + @staticmethod + def recognizeHolesWithInput(bodies: list[core.Base], input: RecognizedHolesInput) -> RecognizedHoles: + """ + Returns a collection of all recognized holes. + bodies : Model bodies on which to recognize holes. + input : Input object that contains filtering settings + """ + 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() + def getHoleSignatureXML(self) -> str: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Convert hole signature to XML. The result can be used to create a hole template. + """ + return str() + @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() + @staticmethod + def recognizeHoleGroupsWithInput(bodies: list[core.Base], input: RecognizedHolesInput) -> RecognizedHoleGroups: + """ + Gets all recognized holes and returns them as hole groupings based on similar geometry. + bodies : Model bodies on which to recognize holes. + input : Input object that contains filtering settings + """ + 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 RecognizedHolesInput(core.Base): + """ + Object that contains the settings used by recognizedHoles and recognizedHoleGroups. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> RecognizedHolesInput: + return RecognizedHolesInput() + @staticmethod + def create() -> RecognizedHolesInput: + """ + Creates an empty input object to be passed into recognizedHoles or recognizedHoleGroups + The newly created input object. + """ + return RecognizedHolesInput() + @property + def filterPartialHoles(self) -> bool: + """ + Partial holes will not be included in recognized holes when set to true. + Holes that intersect edges are considered partial holes. + If a hole has multiple segments, such as a counterbore hole, all the segments inside the hole must intersect an edge for the hole to be considered a partial hole. + """ + return bool() + @filterPartialHoles.setter + def filterPartialHoles(self, value: bool): + """ + Partial holes will not be included in recognized holes when set to true. + Holes that intersect edges are considered partial holes. + If a hole has multiple segments, such as a counterbore hole, all the segments inside the hole must intersect an edge for the hole to be considered a partial hole. + """ + pass + +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() + @property + def faces(self) -> list[fusion.BRepFace]: + """ + Returns all faces making up the pocket. + """ + return [fusion.BRepFace()] + @property + def sharedFaces(self) -> list[fusion.BRepFace]: + """ + Returns all faces making up the pocket, which are shared with other pockets. + """ + return [fusion.BRepFace()] + +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 an Occurrence, 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 an Occurrence, 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 machine(self) -> Machine: + """ + Gets and sets the Machine associated with the setup. + """ + return Machine() + @machine.setter + def machine(self, value: Machine): + """ + Gets and sets the Machine associated with the setup. + """ + 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 + @property + def parameters(self) -> CAMParameters: + """ + 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 CAMParameters() + @property + def isUsingPreviousSetupData(self) -> bool: + """ + Get and set if data from the previous setup should be used when creating another setup. + The data applied from the previous setup is machine information and the stock from the preceeding setup. + By default this value is false. + """ + return bool() + @isUsingPreviousSetupData.setter + def isUsingPreviousSetupData(self, value: bool): + """ + Get and set if data from the previous setup should be used when creating another setup. + The data applied from the previous setup is machine information and the stock from the preceeding setup. + By default this value is false. + """ + pass + +class Setups(core.Base): + """ + Collection that provides access to all of the existing setups in a document. + """ + def __init__(self): + pass + @staticmethod + 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 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. + """ + 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 setups in the collection. + """ + return int() + +class SetupVisibilityManager(core.Base): + """ + Class to manage the visibility of various elements of the setup. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SetupVisibilityManager: + return SetupVisibilityManager() + @property + def machineVisible(self) -> bool: + """ + Controls the visibility of the setup's machine. + """ + return bool() + @machineVisible.setter + def machineVisible(self, value: bool): + """ + Controls the visibility of the setup's machine. + """ + pass + @property + def machineBaseVisible(self) -> bool: + """ + Controls the visibility of the setup's machine base where it exists. + This is always disabled for additive setups. + """ + return bool() + @machineBaseVisible.setter + def machineBaseVisible(self, value: bool): + """ + Controls the visibility of the setup's machine base where it exists. + This is always disabled for additive setups. + """ + pass + +class StockMaterial(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Represents a StockMaterial. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> StockMaterial: + return StockMaterial() + @staticmethod + def createFromJson(json: str) -> StockMaterial: + """ + Creates a StockMaterial object from given JSON string. + json : The JSON should fully define the StockMaterial and contain all StockMaterial parameters. + If the JSON contains more than one StockMaterial, only the first StockMaterial is loaded. + Returns the newly created StockMaterial. + """ + return StockMaterial() + def toJson(self) -> str: + """ + Generates and returns a JSON string that contains a description of this StockMaterial. + Returns a JSON string that contains a description of this StockMaterial. + """ + return str() + @property + def category(self) -> str: + """ + Gets and sets the category of the stock material. + """ + return str() + @category.setter + def category(self, value: str): + """ + Gets and sets the category of the stock material. + """ + pass + @property + def name(self) -> str: + """ + Gets and sets the name of the stock material. + """ + return str() + @name.setter + def name(self, value: str): + """ + Gets and sets the name of the stock material. + """ + pass + @property + def designators(self) -> list[str]: + """ + Gets a list of designators of the stock material. + """ + return [str()] + @designators.setter + def designators(self, value: list[str]): + """ + Gets a list of designators of the stock material. + """ + pass + @property + def hardness(self) -> float: + """ + Get and sets the hardness of the stock materials. + NOTE: the hardness can be NaN if not set. and user can set the hardness to NaN. + """ + return float() + @hardness.setter + def hardness(self, value: float): + """ + Get and sets the hardness of the stock materials. + NOTE: the hardness can be NaN if not set. and user can set the hardness to NaN. + """ + pass + +class Tool(core.Base): + """ + Represents a Tool. + """ + def __init__(self): + pass + @staticmethod + 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() + @staticmethod + def createFromP21(p21: str) -> Tool: + """ + Creates a Tool object given a string containing a tool defined using the P21 format. + Throws an error if the given string does not conform to the P21 format. + p21 : Creates a Tool object from the given P21 string. + Returns the newly created Tool. + """ + return Tool() + @staticmethod + def createFromP21File(filename: str) -> Tool: + """ + Creates a Tool object given a P21 file. + Throws an error if the given file is not a valid P21 file. + filename : The full filename of the P21 file to use to create the Tool. + 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 parameters(self) -> CAMParameters: + """ + Gets the CAMParameters collection associated with this tool. This + defines all of the settings that describe the details of the tool. + """ + return CAMParameters() + @property + def presets(self) -> ToolPresets: + """ + Gets the ToolPresets collection associated with this tool. + """ + return ToolPresets() + +class ToolLibrary(core.Base): + """ + ToolLibrary represents a collection of Tool objects. + """ + def __init__(self): + pass + @staticmethod + 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 createFromJson(json: str) -> ToolLibrary: + """ + 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 ToolLibrary() + @staticmethod + def createEmpty() -> ToolLibrary: + """ + 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() + def createQuery(self) -> ToolQuery: + """ + 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 name(self) -> str: + """ + Gets and sets the name of that Preset. + """ + return str() + @name.setter + def name(self, value: str): + """ + Gets and sets the name of that Preset. + """ + pass + @property + def id(self) -> str: + """ + Gets and sets the identifier of that Preset. The id can be used to select a Preset for a Operation. + """ + return str() + @id.setter + def id(self, value: str): + """ + Gets and sets the identifier of that Preset. The id can be used to select a Preset for a Operation. + """ + pass + @property + def parameters(self) -> CAMParameters: + """ + Gets the CAMParameters collection for this Preset. + """ + 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 + """ + 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 vendor(self) -> str: + """ + The case-insensitive vendor specifies the vendor of the tool. The default empty vendor applies to all tools. + """ + return str() + @vendor.setter + def vendor(self, value: str): + """ + The case-insensitive vendor specifies the vendor of the tool. The default empty vendor applies to all tools. + """ + pass + @property + def url(self) -> core.URL: + """ + 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 core.URL() + @url.setter + def url(self, value: core.URL): + """ + 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 location(self) -> LibraryLocations: + """ + 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 LibraryLocations() + @location.setter + def location(self, value: LibraryLocations): + """ + 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 criteria(self) -> core.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() + +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: + """ + The URL defines the location of the ToolLibrary asset in ToolLibraries. + """ + return core.URL() + @property + def toolLibrary(self) -> ToolLibrary: + """ + The ToolLibrary contains a Tool that matches the query. + """ + return ToolLibrary() + @property + def tool(self) -> Tool: + """ + The Tool that matches the query. + """ + return Tool() + @property + def toolItemIndex(self) -> int: + """ + The index specifies the index of the Tool inside the ToolLibrary. + """ + return int() + +class AdditiveFFFLimitsMachineElement(MachineElement): + """ + Machine element representing limits for fused filament fabrication (FFF) machine motion and temperatures. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> AdditiveFFFLimitsMachineElement: + return AdditiveFFFLimitsMachineElement() + @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 homePosition(self) -> core.Point3D: + """ + Position of the machine home location. + """ + return core.Point3D() + @homePosition.setter + def homePosition(self, value: core.Point3D): + """ + Position of the machine home location. + """ + pass + @property + def parkPosition(self) -> core.Point3D: + """ + 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): + """ + Maximum supported speed for motion in the X or Y axes in cm/s. + """ + pass + @property + def maximumZSpeed(self) -> float: + """ + Maximum supported speed for motion in the Z axis in cm/s. + """ + return float() + @maximumZSpeed.setter + def maximumZSpeed(self, value: float): + """ + Maximum supported speed for motion in the Z axis in cm/s. + """ + pass + @property + def maximumXYAcceleration(self) -> float: + """ + Maximum supported acceleration for motion in the X or Y axes in cm/s^2. + """ + return float() + @maximumXYAcceleration.setter + def maximumXYAcceleration(self, value: float): + """ + Maximum supported acceleration for motion in the X or Y axes in cm/s^2. + """ + pass + @property + def maximumZAcceleration(self) -> float: + """ + Maximum supported acceleration for motion in the Z axis in cm/s^2. + """ + return float() + @maximumZAcceleration.setter + def maximumZAcceleration(self, value: float): + """ + Maximum supported acceleration for motion in the Z axis in cm/s^2. + """ + pass + +class AdditivePlatformMachineElement(MachineElement): + """ + Machine element representing the additive platform settings. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> AdditivePlatformMachineElement: + return AdditivePlatformMachineElement() + @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 size(self) -> core.Point3D: + """ + Usable platform size. + Units are cm. + """ + return core.Point3D() + @size.setter + def size(self, value: core.Point3D): + """ + Usable platform size. + Units are cm. + """ + pass + @property + def origin(self) -> core.Point3D: + """ + 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 + @property + def clearance(self) -> float: + """ + 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 + @property + def frameWidth(self) -> float: + """ + Clearance width used for automatically arranging parts which is the distance from the edges of the build platform. + Units are cm. + """ + return float() + @frameWidth.setter + def frameWidth(self, value: float): + """ + Clearance width used for automatically arranging parts which is the distance from the edges of the build platform. + Units are cm. + """ + pass + @property + def ceilingClearance(self) -> float: + """ + Clearance height used for automatically arranging parts which is the distance from the top of the build platform. + Units are cm. + """ + return float() + @ceilingClearance.setter + def ceilingClearance(self, value: float): + """ + Clearance height used for automatically arranging parts which is the distance from the top of the build platform. + Units are cm. + """ + pass + @property + def cornerRadius(self) -> float: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Radius used to round the corners of the build platform. + Units are cm. + """ + return float() + @cornerRadius.setter + def cornerRadius(self, value: float): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Radius used to round the corners of the build platform. + Units are cm. + """ + pass + +class AdditiveSetupUtility(ModifyUtility): + """ + AdditiveSetupUtility provides functionality for modifications of additive setups. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> AdditiveSetupUtility: + return AdditiveSetupUtility() + def splitSupport(self, targets: list[core.Base], splitType: SplitSupportTypes) -> bool: + """ + 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 bool() + def removeExcessParts(self) -> int: + """ + Remove components from setups, that are outside of the buildroom. + Returns count of removed parts on success and -1 on failure. + """ + return int() + def assignPartsToBodyPreset(self, parts: list[core.Base], presetName: str) -> Operation: + """ + Assigns an array of parts to the body preset operation corresponding to the chosen PrintSettingItem in the PrintSetting. If a part has been previously assigned to a different preset (i.e. the default preset), it will be removed from its previous owner to ensure a body can only be mapped to one preset. If the previous owner preset ends up being empty, it will be removed from the setup. + parts : Parts to be assigned to a preset. The array may contain BRepBody, MeshBody or Occurrence objects. If occurrences are passed in, the preset will contain their resolved bodies or meshes. If the array is empty, the preset will be removed from the setup, but the PrintSettingItem will stay in the PrintSetting. + presetName : The name of the PrintSettingItem defined in the PrintSetting, which serves as the basis for the to be created operation. + The preset corresponding to the preset name. Returns null if the preset has been removed from the setup due to passing an empty or invalid array. + """ + return Operation() + +class ArrangeSelection(GeometrySelection): + """ + Class for arrange selections. Provides access to the selected geometry and its properties. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ArrangeSelection: + return ArrangeSelection() + @property + def inputGeometry(self) -> core.Base: + """ + Gets and sets 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: core.Base): + """ + Gets and sets 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 + @property + def priorityType(self) -> ArrangePriorityTypes: + """ + Gets and sets the priority value for each element in the selection list. + This function is not available in Fusion for Personal Use. + Throws an exception when calling this function in Fusion for Personal Use. + The default value for this property is MediumArrangePriorityType. + """ + return ArrangePriorityTypes() + @priorityType.setter + def priorityType(self, value: ArrangePriorityTypes): + """ + Gets and sets the priority value for each element in the selection list. + This function is not available in Fusion for Personal Use. + Throws an exception when calling this function in Fusion for Personal Use. + The default value for this property is MediumArrangePriorityType. + """ + pass + @property + def customRotationX(self) -> float: + """ + Gets and sets the rotation increments (in degrees) for the x-axis. + This function is not available in Fusion for Personal Use. + Throws an exception when calling this function in Fusion for Personal Use. + To enable any rotation the parameter "arrange_rotation_group" of the operation must be set to true. + To disable x-axis rotation for this selection, customRotationX must be set to 0. + The default value for this property is 45 degrees. + Note: If customRotationX is called, isUsingCustomRotationX will be set to true automatically. + """ + return float() + @customRotationX.setter + def customRotationX(self, value: float): + """ + Gets and sets the rotation increments (in degrees) for the x-axis. + This function is not available in Fusion for Personal Use. + Throws an exception when calling this function in Fusion for Personal Use. + To enable any rotation the parameter "arrange_rotation_group" of the operation must be set to true. + To disable x-axis rotation for this selection, customRotationX must be set to 0. + The default value for this property is 45 degrees. + Note: If customRotationX is called, isUsingCustomRotationX will be set to true automatically. + """ + pass + @property + def isUsingCustomRotationX(self) -> bool: + """ + Gets and sets if custom rotation is used for the x-axis. + This function is not available in Fusion for Personal Use. + Throws an exception when calling this function in Fusion for Personal Use. + To enable any rotation the parameter "arrange_rotation_group" of the operation must be set to true. + If isUsingCustomRotationX is false, the rotation of the operation's parameter "arrange_rotation_x" is used. + The default value for this property false. + """ + return bool() + @isUsingCustomRotationX.setter + def isUsingCustomRotationX(self, value: bool): + """ + Gets and sets if custom rotation is used for the x-axis. + This function is not available in Fusion for Personal Use. + Throws an exception when calling this function in Fusion for Personal Use. + To enable any rotation the parameter "arrange_rotation_group" of the operation must be set to true. + If isUsingCustomRotationX is false, the rotation of the operation's parameter "arrange_rotation_x" is used. + The default value for this property false. + """ + pass + @property + def customRotationY(self) -> float: + """ + Gets and sets the rotation increments (in degrees) for the y-axis. + This function is not available in Fusion for Personal Use. + Throws an exception when calling this function in Fusion for Personal Use. + To enable any rotation the parameter "arrange_rotation_group" of the operation must be set to true. + To disable y-axis rotation for this selection, customRotationY must be set to 0. + The default value for this property is 45 degrees. + Note: If customRotationY is called, isUsingCustomRotationY will be set to true automatically. + """ + return float() + @customRotationY.setter + def customRotationY(self, value: float): + """ + Gets and sets the rotation increments (in degrees) for the y-axis. + This function is not available in Fusion for Personal Use. + Throws an exception when calling this function in Fusion for Personal Use. + To enable any rotation the parameter "arrange_rotation_group" of the operation must be set to true. + To disable y-axis rotation for this selection, customRotationY must be set to 0. + The default value for this property is 45 degrees. + Note: If customRotationY is called, isUsingCustomRotationY will be set to true automatically. + """ + pass + @property + def isUsingCustomRotationY(self) -> bool: + """ + Gets and sets if custom rotation is used for the y-axis. + This function is not available in Fusion for Personal Use. + Throws an exception when calling this function in Fusion for Personal Use. + To enable any rotation the parameter "arrange_rotation_group" of the operation must be set to true. + If isUsingCustomRotationY is false, the rotation of the operation's parameter "arrange_rotation_y" is used. + The default value for this property false. + """ + return bool() + @isUsingCustomRotationY.setter + def isUsingCustomRotationY(self, value: bool): + """ + Gets and sets if custom rotation is used for the y-axis. + This function is not available in Fusion for Personal Use. + Throws an exception when calling this function in Fusion for Personal Use. + To enable any rotation the parameter "arrange_rotation_group" of the operation must be set to true. + If isUsingCustomRotationY is false, the rotation of the operation's parameter "arrange_rotation_y" is used. + The default value for this property false. + """ + pass + @property + def customRotationZ(self) -> float: + """ + Gets and sets the rotation increments (in degrees) for the z-axis. + This function is not available in Fusion for Personal Use. + Throws an exception when calling this function in Fusion for Personal Use. + To enable any rotation the parameter "arrange_rotation_group" of the operation must be set to true. + To disable z-axis rotation for this selection, customRotationZ must be set to 0. + The default value for this property is 45 degrees. + Note: If customRotationZ is called, isUsingCustomRotationZ will be set to true automatically. + """ + return float() + @customRotationZ.setter + def customRotationZ(self, value: float): + """ + Gets and sets the rotation increments (in degrees) for the z-axis. + This function is not available in Fusion for Personal Use. + Throws an exception when calling this function in Fusion for Personal Use. + To enable any rotation the parameter "arrange_rotation_group" of the operation must be set to true. + To disable z-axis rotation for this selection, customRotationZ must be set to 0. + The default value for this property is 45 degrees. + Note: If customRotationZ is called, isUsingCustomRotationZ will be set to true automatically. + """ + pass + @property + def isUsingCustomRotationZ(self) -> bool: + """ + Gets and sets if custom rotation is used for the z-axis. + This function is not available in Fusion for Personal Use. + Throws an exception when calling this function in Fusion for Personal Use. + To enable any rotation the parameter "arrange_rotation_group" of the operation must be set to true. + If isUsingCustomRotationZ is false, the rotation of the operation's parameter "arrange_rotation_z" is used. + The default value for this property true. + """ + return bool() + @isUsingCustomRotationZ.setter + def isUsingCustomRotationZ(self, value: bool): + """ + Gets and sets if custom rotation is used for the z-axis. + This function is not available in Fusion for Personal Use. + Throws an exception when calling this function in Fusion for Personal Use. + To enable any rotation the parameter "arrange_rotation_group" of the operation must be set to true. + If isUsingCustomRotationZ is false, the rotation of the operation's parameter "arrange_rotation_z" is used. + The default value for this property true. + """ + pass + @property + def customQuantity(self) -> int: + """ + Gets and sets the custom quantity. + This function is not available in Fusion for Personal Use. + Throws an exception when calling this function in Fusion for Personal Use. + The default value for this property is 1. + Note: If customQuantity is called, isUsingCustomQuantity will be set to true automatically. + """ + return int() + @customQuantity.setter + def customQuantity(self, value: int): + """ + Gets and sets the custom quantity. + This function is not available in Fusion for Personal Use. + Throws an exception when calling this function in Fusion for Personal Use. + The default value for this property is 1. + Note: If customQuantity is called, isUsingCustomQuantity will be set to true automatically. + """ + pass + @property + def isUsingCustomQuantity(self) -> bool: + """ + Gets and sets if custom quantity is used for this element. + This function is not available in Fusion for Personal Use. + Throws an exception when calling this function in Fusion for Personal Use. + If isUsingCustomQuantity is false, the global quantity of the operation's parameter "arrange_global_quantity" is used. + The default value for this property false. + """ + return bool() + @isUsingCustomQuantity.setter + def isUsingCustomQuantity(self, value: bool): + """ + Gets and sets if custom quantity is used for this element. + This function is not available in Fusion for Personal Use. + Throws an exception when calling this function in Fusion for Personal Use. + If isUsingCustomQuantity is false, the global quantity of the operation's parameter "arrange_global_quantity" is used. + The default value for this property false. + """ + pass + +class BooleanParameterValue(ParameterValue): + """ + A parameter value that is a boolean. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> BooleanParameterValue: + return BooleanParameterValue() + @property + def value(self) -> bool: + """ + Get or set the value of the parameter. + """ + return bool() + @value.setter + def value(self, value: bool): + """ + Get or set the value of the parameter. + """ + 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 CadMachineAvoidGroupsParameterValue(ParameterValue): + """ + A parameter value that is a CadMachineAvoidGroupsParameterValue. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CadMachineAvoidGroupsParameterValue: + return CadMachineAvoidGroupsParameterValue() + def getMachineAvoidGroups(self) -> MachineAvoidGroups: + """ + Get the values of the parameter as a collection of objects of type MachineAvoidSelectionGroup + """ + return MachineAvoidGroups() + def applyMachineAvoidGroups(self, machineAvoidSelectionGroups: MachineAvoidGroups) -> None: + """ + Set the values of the parameter as a collection of MachineAvoidSelectionGroup. + This can throw an exception when the combination of group type and machining mode is not allowed + by the current toolpath strategy. + """ + pass + +class CadObjectParameterValue(ParameterValue): + """ + 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): + """ + Object that represents the CAM environment of a Fusion document. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CAM: + return CAM() + def generateToolpath(self, operations: core.Base) -> GenerateToolpathFuture: + """ + 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 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 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 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 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 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 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. 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. + openDocument : An option to allow to open the document instantly after the generation. By default, the document is opened. + Returns true if successful + """ + return 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. + Limitation: "ExcelFormat" can be used in windows OS only. + folder : The destination folder to locate the setup sheet documents in. + openDocument : An option to allow to open the document instantly after the generation. By default, the document is opened. + Returns true if successful + """ + return bool() + 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. 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. + """ + return Setups() + @property + def allOperations(self) -> core.ObjectCollection: + """ + Gets a collection containing all of the operations in the document. + This includes all operations nested in folders and patterns. + """ + return core.ObjectCollection() + @property + def genericPostFolder(self) -> str: + """ + Gets the installed post folder. + """ + return str() + @property + def personalPostFolder(self) -> str: + """ + Gets the personal post folder. + """ + return str() + @property + def temporaryFolder(self) -> str: + """ + Gets the folder for temporary files. + """ + return str() + @property + def customGraphicsGroups(self) -> fusion.CustomGraphicsGroups: + """ + Returns the customGraphicsGroups object associated with the CAM product. + """ + return fusion.CustomGraphicsGroups() + @property + def designRootOccurrence(self) -> fusion.Occurrence: + """ + 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 allMachines(self) -> list[Machine]: + """ + Gets an array containing all the machines in the document. + """ + return [Machine()] + @property + def setupCreated(self) -> SetupEvent: + """ + The SetupCreated event fires when a new setup is created. + """ + return SetupEvent() + @property + def setupDestroying(self) -> SetupEvent: + """ + The setupDestroying event fires before a setup is destroyed. + """ + return SetupEvent() + @property + def setupChanged(self) -> SetupChangeEvent: + """ + The SetupChanged event fires when a setup is modified. + """ + return SetupChangeEvent() + @property + def setupActivating(self) -> SetupEvent: + """ + The SetupActivating event fires before a setup is activated. + """ + return SetupEvent() + @property + def setupActivated(self) -> SetupEvent: + """ + The SetupActivated event fires when a setup is activated. + """ + return SetupEvent() + @property + def setupDeactivating(self) -> SetupEvent: + """ + The SetupDeactivating event fires before a setup is deactivated. + """ + return SetupEvent() + @property + def setupDeactivated(self) -> SetupEvent: + """ + The SetupDeactivated event fires when a setup is deactivated. + """ + return SetupEvent() + @property + def exportManager(self) -> CAMExportManager: + """ + Returns the Export Manager which provides access to the functionality + to export in various formats. + """ + return CAMExportManager() + @property + def manufacturingModels(self) -> ManufacturingModels: + """ + Returns the collection of manufacturing models in the document. + """ + return ManufacturingModels() + @property + def documentToolLibrary(self) -> DocumentToolLibrary: + """ + 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 DocumentToolLibrary() + @property + def ncPrograms(self) -> NCPrograms: + """ + Returns the collection of NC programs in the document. + """ + return NCPrograms() + @property + def documentStockMaterialLibrary(self) -> DocumentStockMaterialLibrary: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Gets the document StockMaterialLibrary. The StockMaterialLibrary contains all stock materials used by any setup inside the document. + Changes to the original StockMaterialLibrary will not affect any setup because the document StockMaterialLibrary is an + independent copy. + You can only get a valid DocumentStockMaterialLibrary when you have access to Stock Materials private preview feature and enable the feature flag. + """ + return DocumentStockMaterialLibrary() + +class CAM3MFExportOptions(CAMExportOptions): + """ + 3MF export option. Available with all additive machines except Formlabs. Expects a setup as its export object. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CAM3MFExportOptions: + return CAM3MFExportOptions() + @property + def isMachineInformationIncluded(self) -> bool: + """ + Flag toggling if machine information should be included in the exported file. + The machine information is only compatible with Netfabb. + This option might not be available for all machine types. + The default value is false. + """ + return bool() + @isMachineInformationIncluded.setter + def isMachineInformationIncluded(self, value: bool): + """ + Flag toggling if machine information should be included in the exported file. + The machine information is only compatible with Netfabb. + This option might not be available for all machine types. + The default value is false. + """ + pass + @property + def isProcessSimulationDataIncluded(self) -> bool: + """ + Flag toggling if simulation information should be included in the exported file. + This option might not be available for all machine types. + The default value is false. + """ + return bool() + @isProcessSimulationDataIncluded.setter + def isProcessSimulationDataIncluded(self, value: bool): + """ + Flag toggling if simulation information should be included in the exported file. + This option might not be available for all machine types. + The default value is false. + """ + pass + @property + def isSimulationPostProcessingIncluded(self) -> bool: + """ + Flag toggling if post processing of the simulation should be included. + This option might not be available for all machine types. + The default value is false. + """ + return bool() + @isSimulationPostProcessingIncluded.setter + def isSimulationPostProcessingIncluded(self, value: bool): + """ + Flag toggling if post processing of the simulation should be included. + This option might not be available for all machine types. + The default value is false. + """ + pass + @property + def areSimulationSurrogatesSplit(self) -> bool: + """ + Flag toggling if surrogate supports used in the simulation should be split. + This option might not be available for all machine types. + The default value is false. + """ + return bool() + @areSimulationSurrogatesSplit.setter + def areSimulationSurrogatesSplit(self, value: bool): + """ + Flag toggling if surrogate supports used in the simulation should be split. + This option might not be available for all machine types. + The default value is false. + """ + pass + @property + def areSimulationThickeningStructuresKept(self) -> bool: + """ + Flag toggling if thickening structures used for simulation should be kept. + This option might not be available for all machine types. + The default value is false. + """ + return bool() + @areSimulationThickeningStructuresKept.setter + def areSimulationThickeningStructuresKept(self, value: bool): + """ + Flag toggling if thickening structures used for simulation should be kept. + This option might not be available for all machine types. + 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() + @property + def supportInclusion(self) -> CAM3MFSupportInclusionType: + """ + Flag setting if support information should be included in the exported file. + Includes both support structures marked as open or closed support as well as meta data used in Netfabb. + This option might not be available for all machine types. + The default value is NotIncluded. + """ + return CAM3MFSupportInclusionType() + @supportInclusion.setter + def supportInclusion(self, value: CAM3MFSupportInclusionType): + """ + Flag setting if support information should be included in the exported file. + Includes both support structures marked as open or closed support as well as meta data used in Netfabb. + This option might not be available for all machine types. + The default value is NotIncluded. + """ + pass + @property + def isVolumetricDataIncluded(self) -> bool: + """ + Flag toggling if volumetric data should be included in the exported file. The flag is only evaluated if the user has bought the product design extension. + The default value is false. + """ + return bool() + @isVolumetricDataIncluded.setter + def isVolumetricDataIncluded(self, value: bool): + """ + Flag toggling if volumetric data should be included in the exported file. The flag is only evaluated if the user has bought the product design extension. + The default value is false. + """ + pass + @property + def volumetricDataResolution(self) -> int: + """ + Integer value representing the resolution of the volumetric data. The value is only evaluated if the user has bought the product design extension. + The default value is 128. + """ + return int() + @volumetricDataResolution.setter + def volumetricDataResolution(self, value: int): + """ + Integer value representing the resolution of the volumetric data. The value is only evaluated if the user has bought the product design extension. + The default value is 128. + """ + pass + +class CAMAdditiveBuildExportOptions(CAMExportOptions): + """ + 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 CAMAdditiveContainer(OperationBase): + """ + Object that represents an additive container in an existing Setup. + Note: All additive containers cannot be duplicated and depending on the type, some cannot be deleted. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CAMAdditiveContainer: + return CAMAdditiveContainer() + @property + def parent(self) -> core.Base: + """ + Returns the parent Setup. + """ + return core.Base() + @property + def allOperations(self) -> core.ObjectCollection: + """ + Gets a collection containing all of the operations in this container. + This includes all operations nested in folders and patterns. + """ + return core.ObjectCollection() + +class CAMArrangeParameterValue(ParameterValue): + """ + A parameter value that is a CAMArrangeParameterValue. + The user needs to set the parameter anew via the API after a model update or after the ArrangeSelections returned by getArrangeSelections() have been edited. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CAMArrangeParameterValue: + return CAMArrangeParameterValue() + def getArrangeSelections(self) -> ArrangeSelections: + """ + Get the values of the parameter as a collection of CadObjects, which currently consist of occurrences. + Returns current ArrangeSelections of the value. + """ + return ArrangeSelections() + def applyArrangeSelections(self, arrangeSelections: ArrangeSelections) -> None: + """ + Set the values of the parameter as a collection of CadObjects. + """ + pass + +class CAMFolder(OperationBase): + """ + Object that represents a folder in an existing Setup, Folder or Pattern. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CAMFolder: + return CAMFolder() + def activate(self) -> bool: + """ + Sets this object as the default container. + Returns true if the activation was successful. + """ + 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: + """ + Gets if this folder is active. + """ + return bool() + @property + def operations(self) -> Operations: + """ + Returns the Operations collection that provides access to existing individual operations + in this folder. + """ + return Operations() + @property + def folders(self) -> CAMFolders: + """ + Returns the Folders collection that provides access to existing folders + in this folder. + """ + return CAMFolders() + @property + def patterns(self) -> CAMPatterns: + """ + Returns the Patterns collection that provides access to existing patterns + in this folder. + """ + return CAMPatterns() + @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) -> core.ObjectCollection: + """ + Gets a collection containing all of the operations in this folder. + This includes all operations nested in folders and patterns. + """ + return core.ObjectCollection() + +class CAMHoleRecognition(OperationBase): + """ + Object that represents a hole recognition object in an existing Setup, Folder or Pattern. + """ + def __init__(self): + pass + @staticmethod + 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 isActive(self) -> bool: + """ + Gets if this hole recognition is active. + """ + return bool() + @property + def operations(self) -> Operations: + """ + 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): + """ + A parameter value that is a list of choices. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ChoiceParameterValue: + return ChoiceParameterValue() + 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 possible values returned by the values argument. + values : An array of the possible values. 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 value(self) -> str: + """ + Get or set the value of the parameter. + This value will correspond to one of the available values of the parameter. + """ + return str() + @value.setter + def value(self, value: str): + """ + Get or set the value of the parameter. + This value will correspond to one of the available values of the parameter. + """ + pass + +class ControllerConfigurationMachineElement(MachineElement): + """ + Machine element representing controller settings for kinematics. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ControllerConfigurationMachineElement: + return ControllerConfigurationMachineElement() + @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 axisConfigurations(self) -> MachineAxisConfigurations: + """ + 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 + @property + def nonTcpRapidInterpolationMode(self) -> MachineNonTCPInterpolationMode: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specifies how the CNC machine axes behave during rapid moves when TCP (Tool Center Point) is inactive, as defined in the machine's controller. + Independent Axes moves the axes independently at maximum speed, potentially resulting in different completion times for each axis. + Synchronized Axes moves the axes together, completing the motion simultaneously, although the tool's tip may deviate from the direct line between the start and finish points. + """ + return MachineNonTCPInterpolationMode() + @nonTcpRapidInterpolationMode.setter + def nonTcpRapidInterpolationMode(self, value: MachineNonTCPInterpolationMode): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specifies how the CNC machine axes behave during rapid moves when TCP (Tool Center Point) is inactive, as defined in the machine's controller. + Independent Axes moves the axes independently at maximum speed, potentially resulting in different completion times for each axis. + Synchronized Axes moves the axes together, completing the motion simultaneously, although the tool's tip may deviate from the direct line between the start and finish points. + """ + pass + @property + def tcpRapidInterpolationMode(self) -> MachineTCPInterpolationMode: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specifies how the CNC machine axes behave during rapid moves when TCP (Tool Center Point) is active, as defined in the machine's controller. + Independent Axes moves the axes independently at maximum speed, potentially resulting in different completion times for each axis. + Synchronized Axes moves the axes together, completing the motion simultaneously, although the tool's tip may deviate from the direct line between the start and finish points. + Tool Tip adjusts the linear axes to keep the tool's tip positioned along the direct line between the start and finish points. + """ + return MachineTCPInterpolationMode() + @tcpRapidInterpolationMode.setter + def tcpRapidInterpolationMode(self, value: MachineTCPInterpolationMode): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specifies how the CNC machine axes behave during rapid moves when TCP (Tool Center Point) is active, as defined in the machine's controller. + Independent Axes moves the axes independently at maximum speed, potentially resulting in different completion times for each axis. + Synchronized Axes moves the axes together, completing the motion simultaneously, although the tool's tip may deviate from the direct line between the start and finish points. + Tool Tip adjusts the linear axes to keep the tool's tip positioned along the direct line between the start and finish points. + """ + 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]): + """ + 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 DocumentToolLibrary(ToolLibrary): + """ + 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) -> DocumentToolLibrary: + return DocumentToolLibrary() + def operationsByTool(self, tool: Tool) -> list[Operation]: + """ + 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 [Operation()] + def update(self, tool: Tool, updateFeedAndSpeed: bool) -> bool: + """ + 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 : Setting updateFeedAndSpeed to true will override the feed and speed parameters of operations within the document which use the given tool. + Returns true if the update was successful. + """ + return bool() + def toolsBySetupOrFolder(self, setupOrFolder: OperationBase) -> list[Tool]: + """ + 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. + """ + return [Tool()] + +class ExtruderMachineElement(MachineElement): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Machine element representing an extruder on a fused filament fabrication (FFF) machine. + A machine can have multiple extruders and thus multiple ExtruderMachineElement elements. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ExtruderMachineElement: + return ExtruderMachineElement() + @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() + def deleteMe(self) -> None: + """ + Delete this extruder element from the machine. Throws an exception when trying to delete the last remaining element. + """ + pass + @property + def name(self) -> str: + """ + Name of this extruder. Depending on the post, this may be output in the resulting gcode as a comment. + """ + return str() + @name.setter + def name(self, value: str): + """ + Name of this extruder. Depending on the post, this may be output in the resulting gcode as a comment. + """ + pass + @property + def offset(self) -> core.Vector3D: + """ + Offset relative to the main extruder. The first extruder has an index of 0 and usually an offset of (0,0,0). + """ + return core.Vector3D() + @offset.setter + def offset(self, value: core.Vector3D): + """ + Offset relative to the main extruder. The first extruder has an index of 0 and usually an offset of (0,0,0). + """ + pass + @property + def nozzleDiameter(self) -> float: + """ + Nozzle diameter of this extruder in cm. + """ + return float() + @nozzleDiameter.setter + def nozzleDiameter(self, value: float): + """ + Nozzle diameter of this extruder in cm. + """ + pass + @property + def filamentDiameter(self) -> float: + """ + Filament diameter of this extruder in cm. + """ + return float() + @filamentDiameter.setter + def filamentDiameter(self, value: float): + """ + Filament diameter of this extruder in cm. + """ + pass + @property + def temperature(self) -> float: + """ + The maximum temperature this extruder can reach in degrees C. + """ + return float() + @temperature.setter + def temperature(self, value: float): + """ + The maximum temperature this extruder can reach in degrees C. + """ + pass + @property + def volumePerSecond(self) -> float: + """ + The maximum volume output measured in cm^3/s. + """ + return float() + @volumePerSecond.setter + def volumePerSecond(self, value: float): + """ + The maximum volume output measured in cm^3/s. + """ + pass + @property + def isFanAvailable(self) -> bool: + """ + Flag indicating if a fan, whose speed is settable in the post, is available. + """ + return bool() + @isFanAvailable.setter + def isFanAvailable(self, value: bool): + """ + Flag indicating if a fan, whose speed is settable in the post, is available. + """ + pass + +class ExtruderMachineElementInput(MachineElementInput): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specialization of MachineElementInput for creating an additive FFF extruder element. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ExtruderMachineElementInput: + return ExtruderMachineElementInput() + +class FloatParameterValue(ParameterValue): + """ + A parameter value that is a floating point value. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> FloatParameterValue: + return FloatParameterValue() + @property + def value(self) -> float: + """ + Get or set the value of the parameter. + """ + return float() + @value.setter + 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): + """ + A parameter value that is an integer. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> IntegerParameterValue: + return IntegerParameterValue() + @property + def value(self) -> int: + """ + Get or set the value of the parameter. + """ + return int() + @value.setter + def value(self, value: int): + """ + Get or set the value of the parameter. + """ + pass + +class InteractionsMachineElement(MachineElement): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Machine element representing the machine's interactions. + This controls how MachineItems interact with each other. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> InteractionsMachineElement: + return InteractionsMachineElement() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> MachineInteractionPair: + return None + def __iter__(self) -> Iterator[MachineInteractionPair]: + return None + @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() + def item(self, index: int) -> MachineInteractionPair: + """ + Get the MachineInteractionPair at index in this collection. + index : The index of the MachineInteractionPair. + The MachineInteractionPair at index. + """ + return MachineInteractionPair() + def apply(self, setting: MachineInteractionPair) -> bool: + """ + Add an MachineInteractionPair. + This will overwrite any existing MachineInteractionPair with the same item1 and item2. + """ + return bool() + def createMachineInteractionPair(self, item1: MachineItem, item2: MachineItem) -> MachineInteractionPair: + """ + Create a MachineInteractionPair that will control how the two items interact. + """ + return MachineInteractionPair() + def createMachineItem(self, type: MachineItemType, part: MachinePart) -> MachineItem: + """ + Create a MachineItem. + """ + return MachineItem() + def resetMachineInteractionPairs(self) -> bool: + """ + Restore all MachineInteractionPairs to their defaults. + """ + return bool() + @property + def count(self) -> int: + """ + Get the number of pairs in this collection. + """ + return int() + +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). + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> LinearMachineAxis: + return LinearMachineAxis() + @property + def direction(self) -> core.Vector3D: + """ + The unit vector that represents the direction along which the axis will move. + """ + return core.Vector3D() + @direction.setter + def direction(self, value: core.Vector3D): + """ + The unit vector that represents the direction along which the axis will move. + """ + 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. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> LinearMachineAxisInput: + return LinearMachineAxisInput() + @property + def direction(self) -> core.Vector3D: + """ + The unit vector that represents the direction along which the linear axis will move. + This vector is in the machine's coordinate system (e.g. the X axis is always (1,0,0)). + """ + return core.Vector3D() + @direction.setter + def direction(self, value: core.Vector3D): + """ + The unit vector that represents the direction along which the linear axis will move. + This vector is in the machine's coordinate system (e.g. the X axis is always (1,0,0)). + """ + pass + +class MachineAvoidSelectionBase(GeometrySelection): + """ + Base parent class for all machine/avoid selection classes. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MachineAvoidSelectionBase: + return MachineAvoidSelectionBase() + @property + def machineMode(self) -> MachiningMode: + """ + Desired machining mode. The default is Avoid. + The current machining mode will determine which value the radial and axial offset functions + refer to. When set to Machine, the radial and axial offset methods will read/set the stock to leave parameter. + When set to Avoid, the radial and axial offset methods will read/set the clearance value, + and the Fixture mode will map to the relative fixture clearance value. + """ + return MachiningMode() + @machineMode.setter + def machineMode(self, value: MachiningMode): + """ + Desired machining mode. The default is Avoid. + The current machining mode will determine which value the radial and axial offset functions + refer to. When set to Machine, the radial and axial offset methods will read/set the stock to leave parameter. + When set to Avoid, the radial and axial offset methods will read/set the clearance value, + and the Fixture mode will map to the relative fixture clearance value. + """ + pass + @property + def radialOffset(self) -> float: + """ + Radial offset - sets the corresponding radial offset value based on the machine mode + """ + return float() + @radialOffset.setter + def radialOffset(self, value: float): + """ + Radial offset - sets the corresponding radial offset value based on the machine mode + """ + pass + @property + def axialOffset(self) -> float: + """ + Axial offset - sets the corresponding axial offset value based on the machine mode + """ + return float() + @axialOffset.setter + def axialOffset(self, value: float): + """ + Axial offset - sets the corresponding axial offset value based on the machine mode + """ + pass + @property + def combinedOffset(self) -> float: + """ + Combined offset - clearance and stock to leave based on the machine mode + This only applies to strategies that use a single offset value (Advanced Swarf, + Multi-Axis Clearing, Multi-Axis Finishing, Deburr and Geodesic) + """ + return float() + @combinedOffset.setter + def combinedOffset(self, value: float): + """ + Combined offset - clearance and stock to leave based on the machine mode + This only applies to strategies that use a single offset value (Advanced Swarf, + Multi-Axis Clearing, Multi-Axis Finishing, Deburr and Geodesic) + """ + pass + +class MachineFromFileInput(MachineInput): + """ + 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) -> 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 filePath(self) -> str: + """ + 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 str() + @property + def ignoreSimulationModel(self) -> bool: + """ + 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 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: """ - Get or set the value of the parameter. + 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 CadObjectParameterValue(ParameterValue): +class MultiAxisDPMFeedrateSettings(MultiAxisFeedrateSettings): """ - A parameter value that is a CadObject. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specialization of MultiAxisFeedrateSettings for standard degrees per minute feedrates. """ def __init__(self): pass @staticmethod - def cast(arg) -> CadObjectParameterValue: - return CadObjectParameterValue() + def cast(arg) -> MultiAxisDPMFeedrateSettings: + return MultiAxisDPMFeedrateSettings() + @property + def dpmType(self) -> MultiAxisDegreesPerMinuteType: + """ + The DPM settings type + """ + return MultiAxisDegreesPerMinuteType() + @property + def maximumFeedrate(self) -> float: + """ + The maximum feedrate value that can be output. + """ + return float() + @maximumFeedrate.setter + def maximumFeedrate(self, value: float): + """ + The maximum feedrate value that can be output. + """ + pass + @property + def outputTolerance(self) -> float: + """ + The tolerance for deciding whether to output a feedrate value or not. It helps to minimize the output of multi-axis feedrate numbers. + If the feedrate value is within this tolerance of the previous feedrate value, then it is set to the previous value. + Value is in deg/min. + """ + return float() + @outputTolerance.setter + def outputTolerance(self, value: float): + """ + The tolerance for deciding whether to output a feedrate value or not. It helps to minimize the output of multi-axis feedrate numbers. + If the feedrate value is within this tolerance of the previous feedrate value, then it is set to the previous value. + Value is in deg/min. + """ + pass -class CAM(core.Product): +class MultiAxisInverseTimeFeedrateSettings(MultiAxisFeedrateSettings): """ - Object that represents the CAM environment of a Fusion document. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specialization of MultiAxisFeedrateSettings for inverse time feedrates. """ def __init__(self): pass @staticmethod - def cast(arg) -> CAM: - return CAM() - def export3MFForDefaultAdditiveSetup(self, filepath: str, addSimulationInfo: bool, simPostProcess: bool, simSplitSurrogates: bool, simKeepThickeningStructure: bool) -> bool: + def cast(arg) -> MultiAxisInverseTimeFeedrateSettings: + return MultiAxisInverseTimeFeedrateSettings() + @property + def maximumFeedrate(self) -> float: """ - 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 + The maximum feedrate value that can be output. """ - return bool() - def generateToolpath(self, operations: core.Base) -> GenerateToolpathFuture: + return float() + @maximumFeedrate.setter + def maximumFeedrate(self, value: float): """ - 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. + The maximum feedrate value that can be output. """ - return GenerateToolpathFuture() - def generateAllToolpaths(self, skipValid: bool) -> GenerateToolpathFuture: + pass + @property + def inverseTimeUnit(self) -> MultiAxisInverseTimeUnit: """ - 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. + The time units for calculating the inverse from. """ - return GenerateToolpathFuture() - def clearToolpath(self, operations: core.Base) -> bool: + return MultiAxisInverseTimeUnit() + @inverseTimeUnit.setter + def inverseTimeUnit(self, value: MultiAxisInverseTimeUnit): """ - 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. - Return true if successful. + The time units for calculating the inverse from. """ - return bool() - def clearAllToolpaths(self) -> bool: + pass + +class MultiAxisMachineElement(MachineElement): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Machine element representing multi-axis machine settings. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MultiAxisMachineElement: + return MultiAxisMachineElement() + @staticmethod + def staticTypeId() -> str: """ - Clears all the toolpaths (includes those nested in sub-folders or patterns) in the document - Return true if 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 checkToolpath(self, operations: core.Base) -> bool: + return str() + def deleteMe(self) -> None: """ - 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 + Delete this multi-axis machine element from the machine. + """ + pass + def createSingularitySettings(self) -> MultiAxisSingularitySettings: + """ + Creates a MultiAxisSingularitySettings object. + Set this object on the singularitySettings property to apply the changes. + The MultiAxisSingularitySettings object created. + """ + return MultiAxisSingularitySettings() + def createFeedrateSettingsInput(self) -> MultiAxisFeedrateSettingsInput: + """ + Creates a MultiAxisFeedrateSettingsInput object to be used as input for creating MultiAxisFeedrateSettings objects. + The MultiAxisFeedrateSettingsInput object + """ + return MultiAxisFeedrateSettingsInput() + def createFeedrateSettings(self, input: MultiAxisFeedrateSettingsInput) -> MultiAxisFeedrateSettings: + """ + Creates a MultiAxisFeedrateSettings specialized object from the given input. + input : The input object containing the settings to create the MultiAxisFeedrateSettings object. + Set this object on the feedrateSettings property to apply the changes. + The specialized MultiAxisFeedrateSettings object created from the input. + """ + return MultiAxisFeedrateSettings() + def createRetractAndReconfigureSettings(self) -> MultiAxisRetractAndReconfigureSettings: + """ + Creates a MultiAxisRetractAndReconfigureSettings object. + Set this object on the retractAndReconfigureSettings property to apply the changes. + The MultiAxisRetractAndReconfigureSettings object created. + """ + return MultiAxisRetractAndReconfigureSettings() + @property + def isUsingVirtualTooltip(self) -> bool: + """ + Specifies if the position of the virtual tool tip (tool end) should be output. Only relevant for rotary head axes. """ return bool() - def checkAllToolpaths(self) -> bool: + @isUsingVirtualTooltip.setter + def isUsingVirtualTooltip(self, value: bool): + """ + Specifies if the position of the virtual tool tip (tool end) should be output. Only relevant for rotary head axes. + """ + pass + @property + def singularitySettings(self) -> MultiAxisSingularitySettings: + """ + The multi-axis kinematics settings for this machine. + For changes to to this object to take effect, re-assign them to this property. + To not use multi-axis kinematics, set this to null. + """ + return MultiAxisSingularitySettings() + @singularitySettings.setter + def singularitySettings(self, value: MultiAxisSingularitySettings): + """ + The multi-axis kinematics settings for this machine. + For changes to to this object to take effect, re-assign them to this property. + To not use multi-axis kinematics, set this to null. + """ + pass + @property + def feedrateSettings(self) -> MultiAxisFeedrateSettings: + """ + The multi-axis feedrate settings for this machine. + For changes to to this object to take effect, re-assign them to this property. + Cannot be set to null. + """ + return MultiAxisFeedrateSettings() + @feedrateSettings.setter + def feedrateSettings(self, value: MultiAxisFeedrateSettings): + """ + The multi-axis feedrate settings for this machine. + For changes to to this object to take effect, re-assign them to this property. + Cannot be set to null. + """ + pass + @property + def retractAndReconfigureSettings(self) -> MultiAxisRetractAndReconfigureSettings: + """ + The multi-axis retract and reconfigure settings for this machine. + For changes to to this object to take effect, re-assign them to this property. + To not use multi-axis retract and reconfigure, set this to null. + """ + return MultiAxisRetractAndReconfigureSettings() + @retractAndReconfigureSettings.setter + def retractAndReconfigureSettings(self, value: MultiAxisRetractAndReconfigureSettings): + """ + The multi-axis retract and reconfigure settings for this machine. + For changes to to this object to take effect, re-assign them to this property. + To not use multi-axis retract and reconfigure, set this to null. + """ + pass + +class MultiAxisMachineElementInput(MachineElementInput): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specialization of MachineElementInput for creating a multi-axis machine element. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MultiAxisMachineElementInput: + return MultiAxisMachineElementInput() + +class MultiAxisProgrammedFeedrateSettings(MultiAxisFeedrateSettings): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specialization of MultiAxisFeedrateSettings for programmed feedrates. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MultiAxisProgrammedFeedrateSettings: + return MultiAxisProgrammedFeedrateSettings() + +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: """ - 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 + 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, operations: core.Base, input: PostProcessInput) -> bool: + def postProcess(self, options: NCProgramPostProcessOptions) -> 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. - input : The PostProcessInput object that defines the post options and parameters. - Returns true if successful + 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() - def postProcessAll(self, input: PostProcessInput) -> bool: + @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 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 considers 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 the post parameters of this NC program. + """ + return CAMParameters() + @property + def fusionHubFolder(self) -> core.DataFolder: + """ + Gets and sets the DataFolder to which the exported files should be uploaded to if the parameter nc_program_postToFusionTeam is set to true. + When a DataFolder is set, nc_program_postToFusionTeam is automatically set to true. + An exception will be thrown if the DataFolder to set is not valid or not accessible. + Depending on the FusionHubExecutionBehaviors used for the export the design may be saved at this location as well. + """ + return core.DataFolder() + @fusionHubFolder.setter + def fusionHubFolder(self, value: core.DataFolder): + """ + Gets and sets the DataFolder to which the exported files should be uploaded to if the parameter nc_program_postToFusionTeam is set to true. + When a DataFolder is set, nc_program_postToFusionTeam is automatically set to true. + An exception will be thrown if the DataFolder to set is not valid or not accessible. + Depending on the FusionHubExecutionBehaviors used for the export the design may be saved at this location as well. + """ + pass + +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: """ - Post all of the toolpaths (includes those nested in sub-folders or patterns) in the document. - If post processing fails, an error message can be retrieved from the error log explaining the reason for the failure. - input : The PostProcessInput object that defines the post options and parameters. - Returns true if successful. + Gets if the toolpath for this operation is currently valid. (has not become invalidated by model changes). """ return bool() - def generateSetupSheet(self, operations: core.Base, format: SetupSheetFormats, folder: str, openDocument: bool) -> bool: + @property + def isGenerating(self) -> 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. - 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. - openDocument : An option to allow to open the document instantly after the generation. By default, the document is opened. - Returns true if successful + Gets if the operation is being generated. """ return bool() - def generateAllSetupSheets(self, format: SetupSheetFormats, folder: str, openDocument: bool) -> bool: + @property + def parent(self) -> core.Base: """ - 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. - Limitation: "ExcelFormat" can be used in windows OS only. - folder : The destination folder to locate the setup sheet documents in. - openDocument : An option to allow to open the document instantly after the generation. By default, the document is opened. - Returns true if successful + Returns the parent Setup, Folder or Pattern for this operation. + """ + return core.Base() + @property + def hasToolpath(self) -> bool: + """ + Gets if a toolpath currently exists (has been generated) for this operation. """ return bool() - def getMachiningTime(self, operations: core.Base, feedScale: float, rapidFeed: float, toolChangeTime: float) -> MachiningTime: + @property + def operationState(self) -> OperationStates: """ - 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. - 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. + Gets the current state of this operation. """ - return MachiningTime() + return OperationStates() @property - def setups(self) -> Setups: + def generatingProgress(self) -> str: """ - Returns the Setups collection that provides access to existing setups + Gets the generation progress value for this operation. """ - return Setups() + return str() @property - def allOperations(self) -> core.ObjectCollection: + def tool(self) -> Tool: """ - Gets a collection containing all of the operations in the document. - This includes all operations nested in folders and patterns. + 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 core.ObjectCollection() + return Tool() + @tool.setter + def tool(self, value: Tool): + """ + 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 genericPostFolder(self) -> str: + def toolPreset(self) -> ToolPreset: + """ + 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 ToolPreset() + @toolPreset.setter + def toolPreset(self, value: ToolPreset): + """ + 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 OptimizedOrientationResults(GeneratedData): + """ + 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) -> 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 initialOrientationResult(self) -> OptimizedOrientationResult: + """ + Gets the initial orientation of the component before any result has been applied. + """ + return OptimizedOrientationResult() + @property + def currentOrientationResult(self) -> 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. + """ + 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 PostLibrary(CAMLibrary): + """ + 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) -> PostLibrary: + return PostLibrary() + def createQuery(self, location: LibraryLocations) -> PostConfigurationQuery: """ - Gets the installed post folder. + 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 str() - @property - def personalPostFolder(self) -> str: + return PostConfigurationQuery() + def importPostConfiguration(self, postConfig: PostConfiguration, destinationUrl: core.URL, postName: str) -> core.URL: """ - Gets the personal post folder. + 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. """ - return str() - @property - def temporaryFolder(self) -> str: + return core.URL() + def postConfigurationAtURL(self, url: core.URL) -> PostConfiguration: """ - Gets the folder for temporary files. + 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 str() - @property - def customGraphicsGroups(self) -> fusion.CustomGraphicsGroups: + return PostConfiguration() + def childPostConfigurations(self, url: core.URL) -> list[PostConfiguration]: """ - Returns the customGraphicsGroups object associated with the CAM product. + 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 fusion.CustomGraphicsGroups() - @property - def designRootOccurrence(self) -> fusion.Occurrence: + return [PostConfiguration()] + +class PostProcessingMachineElement(MachineElement): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Machine element representing the post processor and post properties. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> PostProcessingMachineElement: + return PostProcessingMachineElement() + @staticmethod + def staticTypeId() -> str: """ - Returns the occurrence that references the design root component in CAM product. + 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 fusion.Occurrence() - @property - def flatPatternOccurrences(self) -> fusion.OccurrenceList: + return str() + def updatePostParameters(self, parameters: CAMParameters) -> bool: """ - Returns a read only list of flat pattern occurrences in CAM product. + Overrides the default post parameters with the given user's input. + Returns true if the update was successful. False otherwise. """ - return fusion.OccurrenceList() + return bool() @property - def allMachines(self) -> core.ObjectCollection: + def postURL(self) -> core.URL: """ - Gets a collection containing all of the machines in the document. + 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.ObjectCollection() - @property - def setupCreated(self) -> SetupEvent: + return core.URL() + @postURL.setter + def postURL(self, value: core.URL): """ - The SetupCreated event fires when a new setup was created. + 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 SetupEvent() + pass @property - def setupDestroying(self) -> SetupEvent: + def outputFolder(self) -> str: """ - The setupDestroying event fires before a setup will be destroyed. + Gets and sets the path for the output folder where the .nc files will be located. + Returns a string of the output folder path for the post processing result. """ - return SetupEvent() - @property - def setupChanged(self) -> SetupChangeEvent: + return str() + @outputFolder.setter + def outputFolder(self, value: str): """ - The SetupChanged event fires when a setup was modified. + Gets and sets the path for the output folder where the .nc files will be located. + Returns a string of the output folder path for the post processing result. """ - return SetupChangeEvent() + pass @property - def setupActivating(self) -> SetupEvent: + def postParameters(self) -> CAMParameters: """ - The SetupActivating event fires before a setup will be activated. + Gets the machine scope post properties as parameters. """ - return SetupEvent() - @property - def setupActivated(self) -> SetupEvent: + return CAMParameters() + +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) -> PrintSettingLibrary: + return PrintSettingLibrary() + def createQuery(self, location: LibraryLocations) -> PrintSettingQuery: """ - The SetupActivated event fires when a setup was activated. + 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 SetupEvent() - @property - def setupDeactivating(self) -> SetupEvent: + return PrintSettingQuery() + def importPrintSetting(self, printSetting: PrintSetting, destinationUrl: core.URL, printSettingName: str) -> core.URL: """ - The SetupDeactivating event fires before a setup will be deactivated. + 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 SetupEvent() - @property - def setupDeactivated(self) -> SetupEvent: + return core.URL() + def updatePrintSetting(self, url: core.URL, printSetting: PrintSetting) -> bool: """ - The SetupDeactivated event fires when a setup was deactivated. + 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 SetupEvent() - @property - def exportManager(self) -> CAMExportManager: + return bool() + def printSettingAtURL(self, url: core.URL) -> PrintSetting: """ - Returns the API-only Export Manager instance + 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 CAMExportManager() - @property - def inspectionResults(self) -> CAMInspectionResults: + return PrintSetting() + def childPrintSettings(self, url: core.URL) -> list[PrintSetting]: """ - Returns the results collection that provides access to existing measures then pathMeasures and manualMeasures + 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 CAMInspectionResults() + return [PrintSetting()] -class CAM3MFExportOptions(CAMExportOptions): +class RotaryMachineAxis(MachineAxis): """ - 3MF export option. Available with all additive machines except Formlabs. Expects a setup as its export object. + Object that represents an axis with rotary motion (e.g. A, B, and C). """ def __init__(self): pass @staticmethod - def cast(arg) -> CAM3MFExportOptions: - return CAM3MFExportOptions() + def cast(arg) -> RotaryMachineAxis: + return RotaryMachineAxis() @property - def areSupportsIncluded(self) -> bool: + def rotationAxis(self) -> core.InfiniteLine3D: """ - Flag toggling if support information should be included in the exported file. - Includes both support structures marked as open or closed support as well as meta data used in Netfabb. - This option might not be available for all machine types. - The default value is false. + The infinite line that defines the direction and location of the axis of rotation. """ - return bool() - @areSupportsIncluded.setter - def areSupportsIncluded(self, value: bool): + return core.InfiniteLine3D() + @rotationAxis.setter + def rotationAxis(self, value: core.InfiniteLine3D): """ - Flag toggling if support information should be included in the exported file. - Includes both support structures marked as open or closed support as well as meta data used in Netfabb. - This option might not be available for all machine types. - The default value is false. + The infinite line that defines the direction and location of the axis of rotation. """ pass + +class RotaryMachineAxisConfiguration(MachineAxisConfiguration): + """ + A MachineAxisConfiguration holding settings specific to rotary axes. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> RotaryMachineAxisConfiguration: + return RotaryMachineAxisConfiguration() @property - def isMachineInformationIncluded(self) -> bool: + def wrapAroundAtRange(self) -> MachineAxisRange: """ - Flag toggling if machine information should be included in the exported file. - The machine information is only compatible with Netfabb. - This option might not be available for all machine types. - The default value is false. + 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() - @isMachineInformationIncluded.setter - def isMachineInformationIncluded(self, value: bool): + return MachineAxisRange() + @wrapAroundAtRange.setter + def wrapAroundAtRange(self, value: MachineAxisRange): """ - Flag toggling if machine information should be included in the exported file. - The machine information is only compatible with Netfabb. - This option might not be available for all machine types. - The default value is false. + 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 isProcessSimulationDataIncluded(self) -> bool: + def reset(self) -> MachineResetOptions: """ - Flag toggling if simulation information should be included in the exported file. - This option might not be available for all machine types. - The default value is false. + Specify when to reset the initial axis position. """ - return bool() - @isProcessSimulationDataIncluded.setter - def isProcessSimulationDataIncluded(self, value: bool): + return MachineResetOptions() + @reset.setter + def reset(self, value: MachineResetOptions): """ - Flag toggling if simulation information should be included in the exported file. - This option might not be available for all machine types. - The default value is false. + Specify when to reset the initial axis position. """ pass @property - def isSimulationPostProcessingIncluded(self) -> bool: + def useToolCenterPointControl(self) -> bool: """ - Flag toggling if post processing of the simulation should be included. - This option might not be available for all machine types. - The default value is false. + Specify if the axis supports Tool Center Point Control (TCP). """ return bool() - @isSimulationPostProcessingIncluded.setter - def isSimulationPostProcessingIncluded(self, value: bool): + @useToolCenterPointControl.setter + def useToolCenterPointControl(self, value: bool): """ - Flag toggling if post processing of the simulation should be included. - This option might not be available for all machine types. - The default value is false. + Specify if the axis supports Tool Center Point Control (TCP). """ pass @property - def areSimulationSurrogatesSplit(self) -> bool: + def rotaryPreference(self) -> MachineAnglePreferences: """ - Flag toggling if surrogate supports used in the simulation should be split. - This option might not be available for all machine types. - The default value is false. + Specify the preferred angle direction at the beginning of an operation. """ - return bool() - @areSimulationSurrogatesSplit.setter - def areSimulationSurrogatesSplit(self, value: bool): + return MachineAnglePreferences() + @rotaryPreference.setter + def rotaryPreference(self, value: MachineAnglePreferences): """ - Flag toggling if surrogate supports used in the simulation should be split. - This option might not be available for all machine types. - The default value is false. + Specify the preferred angle direction at the beginning of an operation. """ pass + +class RotaryMachineAxisInput(MachineAxisInput): + """ + Object that defines the properties required to create a new rotary machine axis object. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> RotaryMachineAxisInput: + return RotaryMachineAxisInput() @property - def areSimulationThickeningStructuresKept(self) -> bool: + def rotationAxis(self) -> core.InfiniteLine3D: """ - Flag toggling if thickening structures used for simulation should be kept. - This option might not be available for all machine types. - The default value is false. + 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 bool() - @areSimulationThickeningStructuresKept.setter - def areSimulationThickeningStructuresKept(self, value: bool): + return core.InfiniteLine3D() + @rotationAxis.setter + def rotationAxis(self, value: core.InfiniteLine3D): """ - Flag toggling if thickening structures used for simulation should be kept. - This option might not be available for all machine types. - The default value is false. + 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 -class CAMFolder(OperationBase): +class Setup(OperationBase): """ - Object that represents a folder in an existing Setup, Folder or Pattern. + Object that represents an existing Setup. """ def __init__(self): pass @staticmethod - def cast(arg) -> CAMFolder: - return CAMFolder() - def createFromTemplate(self, templateFilePath: str) -> core.ObjectCollection: + def cast(arg) -> Setup: + return Setup() + 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()] + def additiveContainerByType(self, containerType: CAMAdditiveContainerTypes) -> CAMAdditiveContainer: + """ + Returns the additive container with the specified type. + containerType : The type of the container + Returns the specified container or null in the case where there is no container with the specified type. + """ + return CAMAdditiveContainer() + @property + def operationType(self) -> OperationTypes: + """ + Gets the Operation Type. + It can be MillingOperation, TurningOperation, JetOperation or AdditiveOperation. + """ + return OperationTypes() @property def isActive(self) -> bool: """ - Gets if this folder is active. + Gets if this setup is active. """ return bool() @property def operations(self) -> Operations: """ - Returns the Operations collection that provides access to existing individual operations - in this folder. + Returns the Operations collection that provides access to existing operations + in this setup. """ return Operations() @property def folders(self) -> CAMFolders: """ Returns the Folders collection that provides access to existing folders - in this folder. + in this setup. """ return CAMFolders() @property def patterns(self) -> CAMPatterns: """ - Returns the Patterns collection that provides access to existing patterns - in this folder. + Returns the Patterns collection that provides access to existing patterns + in this setup. + """ + return CAMPatterns() + @property + def children(self) -> ChildOperationList: + """ + 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: + """ + 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 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 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 and sets the fixtures associated with the setup, which are represented by an ObjectCollection + of models, where a model can be an Occurrence, BRepBody, or MeshBody. + 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, which are represented by an ObjectCollection + of models, where a model can be an Occurrence, BRepBody, or MeshBody. + To be able to set models as fixtures, the fixturesEnabled property has to be set first. + """ + pass + @property + def stockSolids(self) -> core.ObjectCollection: + """ + Gets and sets the stock solids associated with the setup, which are represented by an ObjectCollection + of models, where a model can be an Occurrence, BRepBody, or MeshBody. + 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, which are represented by an ObjectCollection + of models, where a model can be an Occurrence, BRepBody, or MeshBody. + StockMode has to be set to `SolidStock` otherwise this will throw an error. + """ + pass + @property + def machine(self) -> 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. + """ + 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. + """ + 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. """ - return CAMPatterns() + pass @property - def children(self) -> ChildOperationList: + def workCoordinateSystem(self) -> core.Matrix3D: """ - 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. + Gets the Work Coordinate System associated with the setup as 4x4 matrix. From Matrix3D, + Orientation and Origin data can be fetched. """ - return ChildOperationList() + return core.Matrix3D() @property - def parent(self) -> core.Base: + def fixtureEnabled(self) -> bool: """ - Returns the parent Setup, Folder or Pattern for this Folder. + Set this value to enable the use of fixtures for this setup. + To then set the fixture models themselves use the `fixtures` property. """ - return core.Base() - @property - def allOperations(self) -> core.ObjectCollection: + return bool() + @fixtureEnabled.setter + def fixtureEnabled(self, value: bool): """ - Gets a collection containing all of the operations in this folder. - This includes all operations nested in folders and patterns. + Set this value to enable the use of fixtures for this setup. + To then set the fixture models themselves use the `fixtures` property. """ - return core.ObjectCollection() - -class CAMFormlabsExportOptions(CAMExportOptions): - """ - Formlabs export option. Available only with Formlabs machines. Expects a setup as its export object. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> CAMFormlabsExportOptions: - return CAMFormlabsExportOptions() @property - def areSupportsIncluded(self) -> bool: + def printSetting(self) -> PrintSetting: """ - 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 and sets the PrintSetting associated with the setup. """ - return bool() - @areSupportsIncluded.setter - def areSupportsIncluded(self, value: bool): + return PrintSetting() + @printSetting.setter + def printSetting(self, value: PrintSetting): """ - 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 and sets the PrintSetting associated with the setup. """ pass - -class ChoiceParameterValue(ParameterValue): - """ - A parameter value that is a list of choices. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> ChoiceParameterValue: - return ChoiceParameterValue() - def getChoices(self) -> tuple[bool, list[str], list[str]]: + @property + def visibilityManager(self) -> SetupVisibilityManager: """ - Method that returns the list of available choices. - names : An array of the names of the choices. These coincide with the array of possible values returned by the values argument. - values : An array of the possible values. These coincide with the array of names returned by the names argument. - Returns true if the call was successful. + Visibility manager for this setup. """ - return (bool(), [str()], [str()]) + return SetupVisibilityManager() @property - def value(self) -> str: + def stockMaterial(self) -> StockMaterial: """ - Get or set the value of the parameter. - This value will correspond to one of the available values of the parameter. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Gets/ and sets the Stock material associated with the setup. """ - return str() - @value.setter - def value(self, value: str): + return StockMaterial() + @stockMaterial.setter + def stockMaterial(self, value: StockMaterial): """ - Get or set the value of the parameter. - This value will correspond to one of the available values of the parameter. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Gets/ and sets the Stock material associated with the setup. """ pass -class CreateMachineConfigurationsEvent(core.Event): +class SetupChangeEvent(core.Event): """ - 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. + A SetupChangeEvent represents a setup related change event. It is used for SetupChanged notifications. """ def __init__(self): pass @staticmethod - def cast(arg) -> CreateMachineConfigurationsEvent: - return CreateMachineConfigurationsEvent() - def add(self, handler: CreateMachineConfigurationsEventHandler) -> bool: + def cast(arg) -> SetupChangeEvent: + return SetupChangeEvent() + def add(self, handler: SetupChangeEventHandler) -> bool: """ - Add a handler to be notified when the CreateMachineConfigurationsEvent occurs. + 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: CreateMachineConfigurationsEventHandler) -> bool: + def remove(self, handler: SetupChangeEventHandler) -> bool: """ - Removes a handler from the CreateMachineConfigurationsEvent. + 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 CreateMachineConfigurationsEventArgs(core.EventArgs): +class SetupChangeEventArgs(core.EventArgs): """ - This EventArgs object will be sent with the CreateMachineConfigurationsEvent. + The SetupChangeEventArgs provides information associated with a change event of a setup. """ def __init__(self): pass @staticmethod - def cast(arg) -> CreateMachineConfigurationsEventArgs: - return CreateMachineConfigurationsEventArgs() + def cast(arg) -> SetupChangeEventArgs: + return SetupChangeEventArgs() @property - def machineDescriptions(self) -> list[MachineDescription]: + def setup(self) -> Setup: """ - 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. + Provides access to the setup. Can be null in the case + where the event is fired before the setup has been created or after it has been deleted. """ - return [MachineDescription()] + return Setup() @property - def machines(self) -> list[Machine]: + def info(self) -> str: """ - 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. + Provides access to an information string. + The optional string may contain additional information about the change. """ - return [Machine()] - @machines.setter - def machines(self, value: list[Machine]): + return str() + @property + def type(self) -> SetupChangeEventType: """ - 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. + The type specifies the actual change. """ - pass + return SetupChangeEventType() -class FloatParameterValue(ParameterValue): +class SetupEvent(core.Event): """ - A parameter value that is a floating point value. + A SetupEvent represents a setup related event. For example, SetupCreated or SetupDestroying. """ def __init__(self): pass @staticmethod - def cast(arg) -> FloatParameterValue: - return FloatParameterValue() - @property - def value(self) -> float: + def cast(arg) -> SetupEvent: + return SetupEvent() + def add(self, handler: SetupEventHandler) -> bool: """ - Get or set the value of the parameter. + 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 float() - @value.setter - def value(self, value: float): + return bool() + def remove(self, handler: SetupEventHandler) -> bool: """ - Get or set the value of the parameter. + 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. """ - pass + return bool() -class IntegerParameterValue(ParameterValue): +class SetupEventArgs(core.EventArgs): """ - A parameter value that is an integer. + The SetupEventArgs provides information associated with a setup event. """ def __init__(self): pass @staticmethod - def cast(arg) -> IntegerParameterValue: - return IntegerParameterValue() + def cast(arg) -> SetupEventArgs: + return SetupEventArgs() @property - def value(self) -> int: - """ - Get or set the value of the parameter. - """ - return int() - @value.setter - def value(self, value: int): + def setup(self) -> Setup: """ - Get or set the value of the parameter. + Provides access to the setup. Can be null in the case + where the event is fired before the setup has been created or after it has been deleted. """ - pass + return Setup() -class LinearMachineAxis(MachineAxis): +class StockMaterialLibrary(CAMLibrary): """ - Object that represents an axis with linear motion (e.g. X, Y, and Z). + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + The StockMaterialLibraries object provides utilities to access, import and update stock material by URL. """ def __init__(self): pass @staticmethod - def cast(arg) -> LinearMachineAxis: - return LinearMachineAxis() - @property - def direction(self) -> core.Vector3D: + def cast(arg) -> StockMaterialLibrary: + return StockMaterialLibrary() + def importStockMaterial(self, stockMaterial: StockMaterial, destinationUrl: core.URL, stockMaterialName: str) -> core.URL: """ - The unit vector that represents the direction along which the axis will move. + Import a given stockMaterial at a specific location. The stockMaterial will be stored in the library. Throws an error, if the given URL is read-only. + stockMaterial : The stockMaterial that should be imported. + destinationUrl : The URL to the folder where to save the stockMaterial. + stockMaterialName : The name of the stockMaterial 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 stockMaterial, or null if the import failed. """ - return core.Vector3D() - @direction.setter - def direction(self, value: core.Vector3D): + return core.URL() + def updateStockMaterial(self, url: core.URL, stockMaterial: StockMaterial) -> bool: """ - The unit vector that represents the direction along which the axis will move. + Update a stockMaterial in the library. The library overrides the URL by given stockMaterial. Throws an error if the URL does not already point to an existing stockMaterial. + url : The URL to the existing asset in the library that should be updated. + stockMaterial : The stockMaterial that should be persisted. + Returns true if asset was updated successfully, false otherwise. """ - pass + return bool() + def stockMaterialAtURL(self, url: core.URL) -> StockMaterial: + """ + Get a specific stockMaterial by the given URL. Returns null, if the URL does not exist. + url : The URL to the stockMaterial to be loaded. + Returns the stockMaterial for a valid URL, returns null otherwise. + """ + return StockMaterial() + def childStockMaterials(self, url: core.URL) -> list[StockMaterial]: + """ + Get all stockMaterials by the given parent folder URL. Returns null, if the URL does not exist. + url : The URL of the folder to get stockMaterials from. + Returns the stockMaterials for a valid URL, returns null otherwise. + """ + return [StockMaterial()] -class LinearMachineAxisInput(MachineAxisInput): +class StringParameterValue(ParameterValue): """ - Object that defines the properties required to create a new linear machine axis object. + A parameter value that is a string. """ def __init__(self): pass @staticmethod - def cast(arg) -> LinearMachineAxisInput: - return LinearMachineAxisInput() + def cast(arg) -> StringParameterValue: + return StringParameterValue() @property - def direction(self) -> core.Vector3D: + def value(self) -> str: """ - The unit vector that represents the direction along which the linear axis will move. - This vector is in the machine's coordinate system (e.g. the X axis is always (1,0,0)). + Get or set the value of the parameter. """ - return core.Vector3D() - @direction.setter - def direction(self, value: core.Vector3D): + return str() + @value.setter + def value(self, value: str): """ - The unit vector that represents the direction along which the linear axis will move. - This vector is in the machine's coordinate system (e.g. the X axis is always (1,0,0)). + Get or set the value of the parameter. """ pass -class Operation(OperationBase): +class ToolingCapabilitiesMachineElement(MachineElement): """ - Object that represents an operation in an existing Setup, Folder or Pattern. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Machine element representing the tooling capabilities of a machine. """ def __init__(self): pass @staticmethod - def cast(arg) -> Operation: - return Operation() - @property - def strategyType(self) -> OperationStrategyTypes: - """ - Gets the strategy type for this operation. - """ - return OperationStrategyTypes() - @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 toolpath is in the process of generating. - """ - return bool() - @property - def hasWarning(self) -> bool: - """ - Gets if problems were encountered when generating the toolpath for this operation. - """ - return bool() - @property - def parent(self) -> core.Base: - """ - Returns the parent Setup, Folder or Pattern for this operation. - """ - return core.Base() - @property - def hasToolpath(self) -> bool: - """ - Gets if a toolpath currently exists (has been generated) for this operation. - """ - return bool() - @property - def operationState(self) -> OperationStates: - """ - Gets the current state of this operation. - """ - return OperationStates() - @property - def generatingProgress(self) -> str: + def cast(arg) -> ToolingCapabilitiesMachineElement: + return ToolingCapabilitiesMachineElement() + @staticmethod + def staticTypeId() -> str: """ - Gets the toolpath generation progress value for this operation. + 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 toolJson(self) -> str: + def isToolChangerAutomatic(self) -> bool: """ - Get or set the tool in JSON format for this operation. Adds tool to the document. + If your machine has an automatic tool changer, set this to true. + For machines with manual tool change capabilities, set this to false. """ - return str() - @toolJson.setter - def toolJson(self, value: str): + return bool() + @isToolChangerAutomatic.setter + def isToolChangerAutomatic(self, value: bool): """ - Get or set the tool in JSON format for this operation. Adds tool to the document. + If your machine has an automatic tool changer, set this to true. + For machines with manual tool change capabilities, set this to false. """ pass @property - def toolPresetId(self) -> str: + def isToolPreloadSupported(self) -> bool: """ - Get or set the id of the tool preset to be used. Must be valid for the applied tool. + If your machine has a staging function for the tool changer, set this to true. + For machines without staging tool change capabilities, set this to false. """ - return str() - @toolPresetId.setter - def toolPresetId(self, value: str): + return bool() + @isToolPreloadSupported.setter + def isToolPreloadSupported(self, value: bool): """ - Get or set the id of the tool preset to be used. Must be valid for the applied tool. + If your machine has a staging function for the tool changer, set this to true. + For machines without staging tool change capabilities, set this to false. """ pass - -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) -> RotaryMachineAxis: - return RotaryMachineAxis() @property - def rotationAxis(self) -> core.InfiniteLine3D: + def maxToolCount(self) -> int: """ - The infinite line that defines the direction and location of the axis of rotation. + Property that represents the maximum number of tools available in the tool magazine, + or the maximum number of tools that can be programmed in the control. """ - return core.InfiniteLine3D() - @rotationAxis.setter - def rotationAxis(self, value: core.InfiniteLine3D): + return int() + @maxToolCount.setter + def maxToolCount(self, value: int): """ - The infinite line that defines the direction and location of the axis of rotation. + Property that represents the maximum number of tools available in the tool magazine, + or the maximum number of tools that can be programmed in the control. """ pass -class RotaryMachineAxisInput(MachineAxisInput): - """ - Object that defines the properties required to create a new rotary machine axis object. +class ToolingCapabilitiesMachineElementInput(MachineElementInput): """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> RotaryMachineAxisInput: - return RotaryMachineAxisInput() - @property - def rotationAxis(self) -> core.InfiniteLine3D: - """ - 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 core.InfiniteLine3D() - @rotationAxis.setter - def rotationAxis(self, value: core.InfiniteLine3D): - """ - 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. - """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Input class for creating ToolingCapabilitiesMachineElement objects. + """ + def __init__(self): pass + @staticmethod + def cast(arg) -> ToolingCapabilitiesMachineElementInput: + return ToolingCapabilitiesMachineElementInput() -class SandvikIntegrationEvent(core.Event): +class ToolLibraries(CAMLibrary): """ - + The ToolLibraries object provides utilities to access, import and update tool libraries. """ def __init__(self): pass @staticmethod - def cast(arg) -> SandvikIntegrationEvent: - return SandvikIntegrationEvent() - def add(self, handler: SandvikIntegrationEventHandler) -> bool: - """ - 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. + 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. """ return bool() - def remove(self, handler: SandvikIntegrationEventHandler) -> bool: + def toolLibraryAtURL(self, url: core.URL) -> ToolLibrary: """ - 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. + 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. """ - return bool() + return ToolLibrary() + def createQuery(self, location: LibraryLocations) -> ToolQuery: + """ + 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 SandvikIntegrationEventArgs(core.EventArgs): +class CAMPattern(CAMFolder): """ - This EventArgs object will be sent with the SandvikIntegrationEvent. + Object that represents a pattern in an existing Setup, Folder or Pattern. """ def __init__(self): pass @staticmethod - def cast(arg) -> SandvikIntegrationEventArgs: - return SandvikIntegrationEventArgs() - @property - def action(self) -> str: - """ - The action to be performed -- by convention with Sandvik. - Actions include: - "selectAssembly" - "getToolRecommendation" - "getCuttingData" - "setMaterial" - """ - return str() - @property - def contextObject(self) -> OperationBase: - """ - Provides access to the object that is being edited or created. - """ - return OperationBase() + def cast(arg) -> CAMPattern: + return CAMPattern() -class SandvikPreIntegrationEvent(core.Event): +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) -> SandvikPreIntegrationEvent: - return SandvikPreIntegrationEvent() - def add(self, handler: SandvikPreIntegrationEventHandler) -> bool: + def cast(arg) -> ChainSelection: + return ChainSelection() + @property + def isOpen(self) -> bool: """ - 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. + 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() - def remove(self, handler: SandvikPreIntegrationEventHandler) -> bool: + @isOpen.setter + def isOpen(self, value: bool): """ - 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. + 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() - -class SandvikPreIntegrationEventArgs(core.EventArgs): - """ - This EventArgs object will be sent with the SandvikPreIntegrationEvent. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> SandvikPreIntegrationEventArgs: - return SandvikPreIntegrationEventArgs() @property - def contextObject(self) -> OperationBase: + def isOpenAllowed(self) -> bool: """ - Provides access to the object that is being edited or created. + 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 OperationBase() + return bool() @property - def showSetMaterial(self) -> bool: + def isReverted(self) -> bool: """ - Initially false, this should be set to true to enable the display of the "Set Material" - action on the Setup create/edit dialog. + 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() - @showSetMaterial.setter - def showSetMaterial(self, value: bool): + @isReverted.setter + def isReverted(self, value: bool): """ - Initially false, this should be set to true to enable the display of the "Set Material" - action on the Setup create/edit dialog. + 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 showSelectToolAssembly(self) -> bool: + def extensionMethod(self) -> ExtensionMethods: """ - Initially false, this should be set to true to enable the display of the "Select Tool Assembly" - action on the Operation create/edit dialog. + Property that gets and sets extension method to use. The default is TangentExtension. + Only applicable to open contours. """ - return bool() - @showSelectToolAssembly.setter - def showSelectToolAssembly(self, value: bool): + return ExtensionMethods() + @extensionMethod.setter + def extensionMethod(self, value: ExtensionMethods): """ - Initially false, this should be set to true to enable the display of the "Select Tool Assembly" - action on the Operation create/edit dialog. + Property that gets and sets extension method to use. The default is TangentExtension. + Only applicable to open contours. """ pass @property - def showGetToolRecommendation(self) -> bool: + def extensionType(self) -> ExtensionTypes: """ - Initially false, this should be set to true to enable the display of the "Get Tool Recommendation" - action on the Operation create/edit dialog. + Property that gets and sets the desired extension type method. The default is DistanceCap. + This is only applicable to open contours. """ - return bool() - @showGetToolRecommendation.setter - def showGetToolRecommendation(self, value: bool): + return ExtensionTypes() + @extensionType.setter + def extensionType(self, value: ExtensionTypes): """ - Initially false, this should be set to true to enable the display of the "Get Tool Recommendation" - action on the Operation create/edit dialog. + Property that gets and sets the desired extension type method. The default is DistanceCap. + This is only applicable to open contours. """ pass @property - def showGetCuttingData(self) -> bool: + def startExtensionLength(self) -> float: """ - Initially false, this should be set to true to enable the display of the "Get Cutting Data" - action on the Operation create/edit dialog. + 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 bool() - @showGetCuttingData.setter - def showGetCuttingData(self, value: bool): + 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: """ - Initially false, this should be set to true to enable the display of the "Get Cutting Data" - action on the Operation create/edit dialog. + 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 SearchNetworkMachinesEvent(core.Event): +class FaceContourSelection(CurveSelection): """ - 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. + 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) -> SearchNetworkMachinesEvent: - return SearchNetworkMachinesEvent() - def add(self, handler: SearchNetworkMachinesEventHandler) -> bool: + def cast(arg) -> FaceContourSelection: + return FaceContourSelection() + @property + def loopType(self) -> LoopTypes: """ - 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. + Property to get and set the desired loop type. The default is AllLoops. """ - return bool() - def remove(self, handler: SearchNetworkMachinesEventHandler) -> bool: + return LoopTypes() + @loopType.setter + def loopType(self, value: LoopTypes): """ - 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. + 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 MachineAvoidDefaultSelection(MachineAvoidSelectionBase): + """ + Machine/avoid default selection class. Represents a group of selections that are parameter + driven. Provides access to the stored selections. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MachineAvoidDefaultSelection: + return MachineAvoidDefaultSelection() + @property + def inputGeometry(self) -> list[core.Base]: + """ + Get the value of the input geometry. + """ + return [core.Base()] -class SearchNetworkMachinesEventArgs(core.EventArgs): +class MachineAvoidDirectSelection(MachineAvoidSelectionBase): """ - This EventArgs object will be sent with the SearchNetworkMachinesEvent. + Machine/avoid direct selection class. Represents a group of direct selections that + the users can make (faces, bodies, components and higher level entities). + Provides access to the stored selections. """ def __init__(self): pass @staticmethod - def cast(arg) -> SearchNetworkMachinesEventArgs: - return SearchNetworkMachinesEventArgs() + def cast(arg) -> MachineAvoidDirectSelection: + return MachineAvoidDirectSelection() @property - def machineDescriptions(self) -> list[MachineDescription]: + def inputGeometry(self) -> list[core.Base]: """ - Gets and sets a list of MachineDescription objects representing machines found on the - network. Do not set anything to signify no machine found. + Get or set the value of the input geometry. """ - return [MachineDescription()] - @machineDescriptions.setter - def machineDescriptions(self, value: list[MachineDescription]): + return [core.Base()] + @inputGeometry.setter + def inputGeometry(self, value: list[core.Base]): """ - Gets and sets a list of MachineDescription objects representing machines found on the - network. Do not set anything to signify no machine found. + Get or set the value of the input geometry. """ pass -class Setup(OperationBase): +class MultiAxisCombinationDPMFeedrateSettings(MultiAxisDPMFeedrateSettings): """ - Object that represents an existing Setup. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specialization of MultiAxisDPMFeedrateSettings for degrees per minute feedrates that require a combination of linear and rotary movements. """ def __init__(self): pass @staticmethod - def cast(arg) -> Setup: - return Setup() - def createFromTemplate(self, templateFilePath: str) -> core.ObjectCollection: + def cast(arg) -> MultiAxisCombinationDPMFeedrateSettings: + return MultiAxisCombinationDPMFeedrateSettings() + @property + def pulseWeight(self) -> float: """ - 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. + The pulse weight ratio for the rotary axes when DPM feedrates are output as a combination of linear and rotary movements. + The pulse weight is a scale factor based on the rotary axes accuracy compared to the linear axes accuracy. + For example, it should be set to .1 when the linear axes are output on .0001 increments and the rotary axes on .001 increments. """ - return core.ObjectCollection() - @property - def operationType(self) -> OperationTypes: + return float() + @pulseWeight.setter + def pulseWeight(self, value: float): """ - Gets the Operation Type. - It can be MillingOperation, TurningOperation, JetOperation or AdditiveOperation. + The pulse weight ratio for the rotary axes when DPM feedrates are output as a combination of linear and rotary movements. + The pulse weight is a scale factor based on the rotary axes accuracy compared to the linear axes accuracy. + For example, it should be set to .1 when the linear axes are output on .0001 increments and the rotary axes on .001 increments. """ - return OperationTypes() + 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 isActive(self) -> bool: + def isSetupModelSelected(self) -> bool: """ - Gets if this setup is active. + Flag to include all B-Rep bodies set as the setup models. """ return bool() - @property - def operations(self) -> Operations: + @isSetupModelSelected.setter + def isSetupModelSelected(self, value: bool): """ - Returns the Operations collection that provides access to existing operations - in this setup. + Flag to include all B-Rep bodies set as the setup models. """ - return Operations() + pass @property - def folders(self) -> CAMFolders: + def areHolesIncluded(self) -> bool: """ - Returns the Folders collection that provides access to existing folders - in this setup. + Flag to interpret holes as pockets. """ - return CAMFolders() - @property - def patterns(self) -> CAMPatterns: + return bool() + @areHolesIncluded.setter + def areHolesIncluded(self, value: bool): """ - Returns the Patterns collection that provides access to existing patterns - in this setup. + Flag to interpret holes as pockets. """ - return CAMPatterns() + pass @property - def children(self) -> ChildOperationList: + def minimumHoleDiameter(self) -> float: """ - 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. + Lower bound for the diameter for the hole detection. It can only be set if areHoldeIncluded is set to true. """ - return ChildOperationList() - @property - def allOperations(self) -> core.ObjectCollection: + return float() + @minimumHoleDiameter.setter + def minimumHoleDiameter(self, value: float): """ - Gets a collection containing all of the operations in this setup. - This includes all operations nested in folders and patterns. + Lower bound for the diameter for the hole detection. It can only be set if areHoldeIncluded is set to true. """ - return core.ObjectCollection() + pass @property - def models(self) -> core.ObjectCollection: + def minimumCornerRadius(self) -> float: """ - 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. + The smallest corner radius that can appear in a pocket to machine. """ - return core.ObjectCollection() - @models.setter - def models(self, value: core.ObjectCollection): + return float() + @minimumCornerRadius.setter + def minimumCornerRadius(self, value: float): """ - 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. + The smallest corner radius that can appear in a pocket to machine. """ pass @property - def fixtures(self) -> core.ObjectCollection: + def maximumCornerRadius(self) -> float: """ - Gets the fixtures associated with the setup. + The largest corner radius that can appear in a pocket to machine. """ - return core.ObjectCollection() + return float() + @maximumCornerRadius.setter + def maximumCornerRadius(self, value: float): + """ + The largest corner radius that can appear in a pocket to machine. + """ + pass @property - def stockSolids(self) -> core.ObjectCollection: + def minimumPocketDepth(self) -> float: """ - Gets the stock solids associated with the setup. + The shallowest pocket (measured from top to bottom) to machine. """ - return core.ObjectCollection() + return float() + @minimumPocketDepth.setter + def minimumPocketDepth(self, value: float): + """ + The shallowest pocket (measured from top to bottom) to machine. + """ + pass @property - def machine(self) -> Machine: + def maximumPocketDepth(self) -> float: """ - Gets the Machine associated with the setup. + The deepest pocket (measured from top to bottom) to machine. """ - return Machine() + return float() + @maximumPocketDepth.setter + def maximumPocketDepth(self, value: float): + """ + The deepest pocket (measured from top to bottom) to machine. + """ + pass -class SetupChangeEvent(core.Event): +class PocketSelection(CurveSelection): """ - A SetupChangeEvent represents a setup related change event. It is used for SetupChanged notifications. + 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) -> SetupChangeEvent: - return SetupChangeEvent() - def add(self, handler: SetupChangeEventHandler) -> bool: + def cast(arg) -> PocketSelection: + return PocketSelection() + @property + def extensionMethod(self) -> ExtensionMethods: """ - 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. + The desired extension method. TangentExtension by default. """ - return bool() - def remove(self, handler: SetupChangeEventHandler) -> bool: + return ExtensionMethods() + @extensionMethod.setter + def extensionMethod(self, value: ExtensionMethods): """ - 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. + 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 SetupChangeEventArgs(core.EventArgs): +class SilhouetteSelection(CurveSelection): """ - The SetupChangeEventArgs provides information associated with a change event of a setup. + 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) -> SetupChangeEventArgs: - return SetupChangeEventArgs() + def cast(arg) -> SilhouetteSelection: + return SilhouetteSelection() @property - def setup(self) -> Setup: + def loopType(self) -> LoopTypes: """ - Provides access to the setup. Can be null in the case - where the event is fired before the setup has been created or after it has been deleted. + Desired loop type. The default is AllLoops. """ - return Setup() - @property - def info(self) -> str: + return LoopTypes() + @loopType.setter + def loopType(self, value: LoopTypes): """ - Provides access to an information string. - The optional string may contain additional information about the change. + Desired loop type. The default is AllLoops. """ - return str() + pass @property - def type(self) -> SetupChangeEventType: + def sideType(self) -> SideTypes: """ - The type specifies the actual change. + Desired side type. The default is StartOutside. + """ + return SideTypes() + @sideType.setter + def sideType(self, value: SideTypes): + """ + Desired side type. The default is StartOutside. """ - return SetupChangeEventType() - -class SetupEvent(core.Event): - """ - A SetupEvent represents a setup related event. For example, SetupCreated or SetupDestroying. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> SetupEvent: - return SetupEvent() - def add(self, handler: SetupEventHandler) -> bool: + @property + def isSetupModelSelected(self) -> 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. + Flag to include all B-Rep bodies set as the setup models. """ return bool() - def remove(self, handler: SetupEventHandler) -> bool: + @isSetupModelSelected.setter + def isSetupModelSelected(self, value: 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. + Flag to include all B-Rep bodies set as the setup models. """ - return bool() - -class SetupEventArgs(core.EventArgs): - """ - The SetupEventArgs provides information associated with a setup event. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> SetupEventArgs: - return SetupEventArgs() @property - def setup(self) -> Setup: + def silhouetteTolerance(self) -> float: """ - Provides access to the setup. Can be null in the case - where the event is fired before the setup has been created or after it has been deleted. + The distance the silhouette can differ from the model. + This helps in creating a silhouette in situations where one cannot be created because of open contours.Generally, the tolerance value you use should be smaller than or equal to the machining tolerance. """ - return Setup() + return float() + @silhouetteTolerance.setter + def silhouetteTolerance(self, value: float): + """ + The distance the silhouette can differ from the model. + This helps in creating a silhouette in situations where one cannot be created because of open contours.Generally, the tolerance value you use should be smaller than or equal to the machining tolerance. + """ + pass -class StringParameterValue(ParameterValue): +class SketchSelection(CurveSelection): """ - A parameter value that is a string. + 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) -> StringParameterValue: - return StringParameterValue() + def cast(arg) -> SketchSelection: + return SketchSelection() @property - def value(self) -> str: + def loopType(self) -> LoopTypes: """ - Get or set the value of the parameter. + Property to get and set the desired loop type. The default is AllLoops. """ - return str() - @value.setter - def value(self, value: str): + return LoopTypes() + @loopType.setter + def loopType(self, value: LoopTypes): """ - Get or set the value of the parameter. + Property to get and set the desired loop type. The default is AllLoops. """ pass - -class CadMultiPointOnSurfaceParameterValue(CadObjectParameterValue): - """ - A parameter value that is a CadMultiPointOnSurface. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> CadMultiPointOnSurfaceParameterValue: - return CadMultiPointOnSurfaceParameterValue() @property - def values(self) -> list[core.Point3D]: + def sideType(self) -> SideTypes: """ - Get/Set the values of the parameter as a vector of Point3D positions. - Points are in CM units. - Points are in model coordinates. + Property to get and set the desired side type. The default is StartOutside. """ - return [core.Point3D()] - @values.setter - def values(self, value: list[core.Point3D]): + return SideTypes() + @sideType.setter + def sideType(self, value: SideTypes): """ - Get/Set the values of the parameter as a vector of Point3D positions. - Points are in CM units. - Points are in model coordinates. + Property to get and set the desired side type. The default is StartOutside. """ pass - -class CAMPattern(CAMFolder): - """ - Object that represents a pattern in an existing Setup, Folder or Pattern. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> CAMPattern: - return CAMPattern() diff --git a/adsk/core.py b/adsk/core.py index 3c4f80f..66b36c5 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(): """ @@ -15,6 +16,17 @@ def __init__(self): FaceAppearanceSource = 3 OverrideAppearanceSource = 4 +class BooleanOptions(): + """ + The different values that can be used when specifying whether an item + should use a default, or be true or false. + """ + def __init__(self): + pass + DefaultBooleanOption = 0 + TrueBooleanOption = 1 + FalseBooleanOption = 2 + class CameraTypes(): """ The different types of cameras. @@ -62,6 +74,7 @@ def __init__(self): EllipticalArc2DCurveType = 4 InfiniteLine2DCurveType = 5 NurbsCurve2DCurveType = 6 + Polyline2DCurveType = 7 class Curve3DTypes(): """ @@ -76,6 +89,7 @@ def __init__(self): EllipticalArc3DCurveType = 4 InfiniteLine3DCurveType = 5 NurbsCurve3DCurveType = 6 + Polyline3DCurveType = 7 class DefaultModelingOrientations(): """ @@ -153,6 +167,16 @@ def __init__(self): FractionalFootAndInchDisplay = 1 ArchitecturalFootAndInchDisplay = 2 +class FutureStates(): + """ + The different states of a future. + """ + def __init__(self): + pass + ProcessingFutureState = 0 + FinishedFutureState = 1 + FailedFutureState = 2 + class GenericErrors(): """ Errors that every API call can return via Application::GetLastError. @@ -183,6 +207,16 @@ def __init__(self): OpenGLCoreProfileGraphicsDriver = 3 OpenGLGraphicsDriver = 4 +class GraphicsPresets(): + """ + Defines the different options for preset graphic setting definitions. + """ + def __init__(self): + pass + PerformanceGraphicsPreset = 0 + QualityGraphicsPreset = 1 + CustomGraphicsPreset = 2 + class HorizontalAlignments(): """ Defines the different horizontal alignments that can be applied to text. @@ -193,6 +227,18 @@ def __init__(self): CenterHorizontalAlignment = 1 RightHorizontalAlignment = 2 +class HttpMethods(): + """ + The HTTP methods supported by the HttpRequest object. + """ + def __init__(self): + pass + GetMethod = 0 + PostMethod = 1 + PutMethod = 2 + DeleteMethod = 3 + PatchMethod = 4 + class HubTypes(): """ The different types of hubs. @@ -319,6 +365,19 @@ def __init__(self): F12KeyCode = 16777275 MenuKeyCode = 16777301 +class LightingEnvironments(): + """ + Defines the list of available lighting environments. + """ + def __init__(self): + pass + DarkSkyLightingEnvironment = 0 + GreyRoomLightingEnvironment = 1 + PhotoBoothLightingEnvironment = 2 + TranquilityBlueLightingEnvironment = 3 + InfinityPoolLightingEnvironment = 4 + RiverRubiconLightingEnvironment = 5 + class ListControlDisplayTypes(): """ The different types of items that can be displayed in a list control. @@ -428,9 +487,19 @@ 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. + Defines the different options available when docking a palette to the Fusion main window area. """ def __init__(self): pass @@ -462,6 +531,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. @@ -472,6 +576,19 @@ def __init__(self): DiskFullSaveLocalError = 201 FileReadOnlySaveLocalError = 202 +class ScriptSourceLocations(): + """ + Defines the different locations where Fusion looks for scripts and add-ins. + """ + def __init__(self): + pass + AppStoreScriptSourceLocation = 0 + OtherInstalledScriptSourceLocation = 1 + UserDefinedScriptSourceLocation = 2 + InternalScriptSourceLocation = 3 + SamplesScriptSourceLocation = 4 + LinkedScriptSourceLocation = 5 + class SelectionDisplayStyles(): """ A list of the valid selection display styles. @@ -542,6 +659,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. @@ -552,6 +696,17 @@ def __init__(self): UploadFinished = 1 UploadFailed = 2 +class UserInterfaceThemes(): + """ + Defines the different color themes used by the user interface. + """ + def __init__(self): + pass + ClassicUserInterfaceTheme = 0 + LightGrayUserInterfaceTheme = 1 + DarkBlueUserInterfaceTheme = 2 + DarkGrayUserInterfaceTheme = 3 + class UserLanguages(): """ A list of the valid languages. @@ -572,6 +727,7 @@ def __init__(self): PortugueseBrazilianLanguage = 11 RussianLanguage = 12 SpanishLanguage = 13 + TurkishLanguage = 14 class ValueInputError(): """ @@ -630,7 +786,7 @@ def __init__(self): class VisualStyles(): """ - A list of the support visual styles that Fusion 360 uses when rendering the model. + A list of the support visual styles that Fusion uses when rendering the model. """ def __init__(self): pass @@ -663,7 +819,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 @@ -700,11 +860,97 @@ def cast(arg) -> ActiveSelectionEventHandler: return ActiveSelectionEventHandler() def notify(self, eventArgs: ActiveSelectionEventArgs) -> None: """ - The function called by Fusion 360 when the associated event is fired. + The function called by Fusion when the associated event is fired. eventArgs : Returns an object that provides access to additional information associated with the event. """ 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 +967,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 +1029,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 +1064,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() @@ -863,7 +1106,7 @@ def textureType(self) -> TextureTypes: class Application(Base): """ - The top-level object that represents the Fusion 360 application (all of Fusion 360). + The top-level object that represents the Fusion application (all of Fusion). This provides access to the modeler and files. """ def __init__(self): @@ -879,12 +1122,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,13 +1155,13 @@ 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. Firing a custom event does not immediately result in the event handler being called. When a custom - event is fired the event is put on the queue and will be handled in the main thread when Fusion 360 is idle. + event is fired the event is put on the queue and will be handled in the main thread when Fusion is idle. eventId : The ID of the custom event you want to fire. additionalInfo : Any additional information you want to pass through the event to the add-in in the primary thread. Returns true if the event was successfully added to the event queue. A value of true does not indicate @@ -1042,7 +1291,7 @@ def favoriteAppearances(self) -> FavoriteAppearances: def supportedProductTypes(self) -> list[str]: """ Returns an array containing the names of the products types currently - supported by Fusion 360. For example, the name returned for Fusion 360 is + supported by Fusion. For example, the name returned for Fusion is "DesignProductType". These product type names are used to identify specific products in some other API functions such as the productType property on the Workspace and ToolbarPanel objects. @@ -1072,37 +1321,37 @@ def userId(self) -> str: @property def isOffLine(self) -> bool: """ - Gets and sets if Fusion 360 is offline or not. + Gets and sets if Fusion is offline or not. """ return bool() @isOffLine.setter def isOffLine(self, value: bool): """ - Gets and sets if Fusion 360 is offline or not. + Gets and sets if Fusion is offline or not. """ pass @property def isStartupComplete(self) -> bool: """ - Boolean property indicating whether Fusion 360 has completed its initialization. + Boolean property indicating whether Fusion has completed its initialization. This includes initialization of all the Add-ins loaded at startup. """ return bool() @property def onlineStatusChanged(self) -> ApplicationEvent: """ - The onlineStatusChanged event fires immediately after Fusion 360 goes online or offline. - This event fires whether or not the online status was changed deliberately by the user by using the Fusion 360 + The onlineStatusChanged event fires immediately after Fusion goes online or offline. + This event fires whether or not the online status was changed deliberately by the user by using the Fusion '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. + You can get the isOffline property of ApplicationEventArgs to determine whether Fusion has gone Offline or + has come back online. The client can add or remove ApplicationEventHandlers from the ApplicationEvent. """ return ApplicationEvent() @property def startupCompleted(self) -> ApplicationEvent: """ - The startupCompleted event fires after Fusion 360 has completed its initialization. + The startupCompleted event fires after Fusion has completed its initialization. This includes initialization of all the Add-ins loaded at startup. The client can add or remove ApplicationEventHandlers from the ApplicationEvent. """ @@ -1117,8 +1366,8 @@ def currentUser(self) -> User: def insertingFromURL(self) -> WebRequestEvent: """ The insertingFromURL event fires when the user has clicked a link in a web - page that uses the Fusion 360 protocol handler to insert a file as new component. - This event is fired at the beginning of the request but before Fusion 360 has + page that uses the Fusion protocol handler to insert a file as new component. + This event is fired at the beginning of the request but before Fusion has take any action so that it's still possible to cancel the operation. """ return WebRequestEvent() @@ -1126,7 +1375,7 @@ def insertingFromURL(self) -> WebRequestEvent: def insertedFromURL(self) -> WebRequestEvent: """ The insertedFromURL event fires after the user has clicked a link in a web - page that uses the Fusion 360 protocol handler to insert a file as new component + page that uses the Fusion protocol handler to insert a file as new component and that operation has completed. """ return WebRequestEvent() @@ -1134,9 +1383,9 @@ def insertedFromURL(self) -> WebRequestEvent: def openingFromURL(self) -> WebRequestEvent: """ The openingFromURL event fires when the user has clicked a link in a web - page that uses the Fusion 360 protocol handler to create a new file using an + page that uses the Fusion protocol handler to create a new file using an existing file as the initial contents. This event is fired at the beginning - of the request but before Fusion 360 has take any action so that it's still + of the request but before Fusion has take any action so that it's still possible to cancel the operation. """ return WebRequestEvent() @@ -1144,14 +1393,14 @@ def openingFromURL(self) -> WebRequestEvent: def openedFromURL(self) -> WebRequestEvent: """ The openedFromURL event fires after the user has clicked a link in a web - page that uses the Fusion 360 protocol handler to create a new using an existing + page that uses the Fusion protocol handler to create a new using an existing file as the initial contents and that operation has completed. """ return WebRequestEvent() @property def version(self) -> str: """ - Returns the current version of the Fusion 360 application. + Returns the current version of the Fusion application. """ return str() @property @@ -1233,6 +1482,70 @@ 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: + """ + Returns the Scripts object which provides the ability to manage scripts and add-ins. + """ + 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() + @property + def isComponentColorsDisplayed(self) -> bool: + """ + Get and sets if component colors are used when displaying the components within a design. + This is the API equivalent of the "Display Component Colors" command. + """ + return bool() + @isComponentColorsDisplayed.setter + def isComponentColorsDisplayed(self, value: bool): + """ + Get and sets if component colors are used when displaying the components within a design. + This is the API equivalent of the "Display Component Colors" command. + """ + pass + @property + def applicationFolders(self) -> ApplicationFolders: + """ + Returns the ApplicationFolders object which provides access to the paths of various folders + associated with Fusion. + """ + return ApplicationFolders() + @property + def mfgdmDataReady(self) -> MFGDMDataEvent: + """ + The mfgdmDataReady event fires when the MFGDM data structure for a document has been updated and + properties to IDs and structure from the data model is ready. + """ + return MFGDMDataEvent() + @property + def lightingEnvironment(self) -> LightingEnvironments: + """ + Gets and sets the current lighting environment to use when rendering the graphics. + """ + return LightingEnvironments() + @lightingEnvironment.setter + def lightingEnvironment(self, value: LightingEnvironments): + """ + Gets and sets the current lighting environment to use when rendering the graphics. + """ + pass class ApplicationCommandEventHandler(EventHandler): """ @@ -1265,11 +1578,71 @@ def cast(arg) -> ApplicationEventHandler: return ApplicationEventHandler() def notify(self, eventArgs: ApplicationEventArgs) -> None: """ - The function called by Fusion 360 when the associated event is fired. + The function called by Fusion when the associated event is fired. eventArgs : Returns an object that provides access to additional information associated with the event. """ pass +class ApplicationFolders(Base): + """ + The ApplicationFolders object provides access to the paths of various folders associated with Fusion. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ApplicationFolders: + return ApplicationFolders() + @property + def rootPath(self) -> str: + """ + Returns the path to the version-specific folder where Fusion is installed. + """ + return str() + @property + def optionsPath(self) -> str: + """ + Returns the path to the user-specific folder where Fusion saves various options. + """ + return str() + @property + def appStoreInstallPath(self) -> str: + """ + Returns the path where apps from the Autodesk App Store are installed. + """ + return str() + @property + def defaultPathForScriptsAndAddIns(self) -> str: + """ + Gets and sets the default path for scripts and add-ins. This is the same as the + defaultPathForScriptsAndAddIns property on the APIPreferences object. + """ + return str() + @defaultPathForScriptsAndAddIns.setter + def defaultPathForScriptsAndAddIns(self, value: str): + """ + Gets and sets the default path for scripts and add-ins. This is the same as the + defaultPathForScriptsAndAddIns property on the APIPreferences object. + """ + pass + @property + def userDataPath(self) -> str: + """ + Returns the path where some user-specific data is stored. + """ + return str() + @property + def materialsPath(self) -> str: + """ + Returns the path where user-created material and appearance libraries are saved. + """ + return str() + @property + def appLogFilePath(self) -> str: + """ + Returns the full filename for the current application log file. + """ + return str() + class Attribute(Base): """ Represents an attribute associated with a specific entity, Product, or Document. @@ -1356,6 +1729,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. @@ -1577,16 +1956,61 @@ def maxPoint(self, value: Point3D): class Camera(Base): """ - The Camera class represents the information that specifies how a model - is viewed and displayed. It's analogous to a real camera where it has - a position in space, is pointed towards a specific point and is oriented - in a particular way. + The Camera class represents the information that specifies how a model is + displayed within a viewport. It's analogous to a real camera, which has a + position in space, is pointed towards a specific point, is oriented + in a particular way, and has a specific type of lens. + + Whether a camera is created statically using the Camera.create() method or + obtained from a Viewport, a Camera object is always temporary and not associated + with anything. This means when you get it from a Viewport, the Camera object + captures the current state of the Viewport and stores it but doesn't save + where it came from, so it is completely independent. + + To update the camera settings associated with a Viewport, get a Camera object from + a Viewport or create a new Camera using Camera.create(), modify the Camera object + to define the view you want, and assign it to the Viewport. """ def __init__(self): pass @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. + 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. + 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,37 +2078,12 @@ 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 will modify the camera such that the entire model is displayed in the viewport. - When getting a camera from a viewport this property is always initialized to false. + When getting a camera from a viewport or creating a camera using Camera.create(), + this property defaults to false. """ return bool() @isFitView.setter @@ -1692,43 +2091,50 @@ def isFitView(self, value: bool): """ If this property is true, when this camera is applied to a viewport it will modify the camera such that the entire model is displayed in the viewport. - When getting a camera from a viewport this property is always initialized to false. + When getting a camera from a viewport or creating a camera using Camera.create(), + this property defaults to false. """ pass @property def isSmoothTransition(self) -> bool: """ - Determines whether Fusion 360 does a smooth transition to this camera positoin 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 - you're providing a series of cameras to control the camera animation. + This property controls if Fusion will perform a smooth transition animation from the + current camera position to the new position. If this property is set to true, it will + smoothly transition. If false, the camera will jump to the position defined by the + camera without any animated transition. + + When a camera is obtained from a Viewport or created using the Camera.create() method, + this property defaults to false. """ return bool() @isSmoothTransition.setter def isSmoothTransition(self, value: bool): """ - Determines whether Fusion 360 does a smooth transition to this camera positoin 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 - you're providing a series of cameras to control the camera animation. + This property controls if Fusion will perform a smooth transition animation from the + current camera position to the new position. If this property is set to true, it will + smoothly transition. If false, the camera will jump to the position defined by the + camera without any animated transition. + + When a camera is obtained from a Viewport or created using the Camera.create() method, + this property defaults to false. """ pass @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 @@ -1744,80 +2150,403 @@ def cast(arg) -> CameraEventHandler: return CameraEventHandler() def notify(self, eventArgs: CameraEventArgs) -> None: """ - The function called by Fusion 360 when the associated event is fired. + The function called by Fusion when the associated event is fired. eventArgs : Returns an object that provides access to additional information associated with the event. """ pass -class Color(Base): +class CanvasEffects(Base): """ - The Color class wraps all of the information that defines a simple color. + Provides access to the settings that control the canvas effects. """ def __init__(self): pass @staticmethod - def cast(arg) -> Color: - return Color() - @staticmethod - def create(red: int, green: int, blue: int, opacity: int) -> Color: + def cast(arg) -> CanvasEffects: + return CanvasEffects() + @property + def isEnvironmentDomeEnabled(self) -> bool: """ - Creates a new color. - red : The red component of the color. The value can be 0 to 255. - green : The green component of the color. The value can be 0 to 255. - blue : The blue component of the color. The value can be 0 to 255. - opacity : The opacity of the color. The value can be 0 to 255. - Returns the newly created color or null if the creation failed. + Gets and sets if the environment dome is enabled. Setting this + property is only valid when the graphics preset is set to "custom" + and will fail if it is set to "quality" or "performance". The + graphics preset can be determined by using the graphicsPreset property, + as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset """ - return Color() - def getColor(self) -> tuple[bool, int, int, int, int]: + return bool() + @isEnvironmentDomeEnabled.setter + def isEnvironmentDomeEnabled(self, value: bool): """ - Gets all of the information defining this color. - red : The red component of the color. The value can be 0 to 255. - green : The green component of the color. The value can be 0 to 255. - blue : The blue component of the color. The value can be 0 to 255. - opacity : The opacity of the color. The value can be 0 to 255. A value of 255 indicates - it is completely opaque. - Returns true if getting the color information was successful. + Gets and sets if the environment dome is enabled. Setting this + property is only valid when the graphics preset is set to "custom" + and will fail if it is set to "quality" or "performance". The + graphics preset can be determined by using the graphicsPreset property, + as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset """ - return (bool(), int(), int(), int(), int()) - def setColor(self, red: int, green: int, blue: int, opacity: int) -> bool: + pass + @property + def isGroundPlaneEnabled(self) -> bool: """ - Sets all of the color information. - red : The red component of the color. The value can be 0 to 255. - green : The green component of the color. The value can be 0 to 255. - blue : The blue component of the color. The value can be 0 to 255. - opacity : The opacity of the color. The value can be 0 to 255. A value of 255 indicates - it is completely opaque. Depending on where the color is used, the opacity - value may be ignored. - Returns true if setting the color information was successful. + Gets and sets if the ground plane is enabled. Setting this + property is only valid when the graphics preset is set to "custom" + and will fail if it is set to "quality" or "performance". The + graphics preset can be determined by using the graphicsPreset property, + as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset """ return bool() + @isGroundPlaneEnabled.setter + def isGroundPlaneEnabled(self, value: bool): + """ + Gets and sets if the ground plane is enabled. Setting this + property is only valid when the graphics preset is set to "custom" + and will fail if it is set to "quality" or "performance". The + graphics preset can be determined by using the graphicsPreset property, + as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset + """ + pass @property - def red(self) -> int: + def isGroundShadowEnabled(self) -> bool: """ - Gets and sets the red component of the color. The value can be 0 to 255. + Gets and sets if the ground shadow is enabled. Setting this + property is only valid when the graphics preset is set to "custom" + and will fail if it is set to "quality" or "performance". The + graphics preset can be determined by using the graphicsPreset property, + as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset """ - return int() - @red.setter - def red(self, value: int): + return bool() + @isGroundShadowEnabled.setter + def isGroundShadowEnabled(self, value: bool): """ - Gets and sets the red component of the color. The value can be 0 to 255. + Gets and sets if the ground shadow is enabled. Setting this + property is only valid when the graphics preset is set to "custom" + and will fail if it is set to "quality" or "performance". The + graphics preset can be determined by using the graphicsPreset property, + as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset """ pass @property - def green(self) -> int: + def isGroundReflectionEnabled(self) -> bool: """ - Gets and sets the green component of the color. The value can be 0 to 255. + Gets and sets if ground reflection is enabled. Setting this + property is only valid when the graphics preset is set to "custom" + and will fail if it is set to "quality" or "performance". The + graphics preset can be determined by using the graphicsPreset property, + as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset """ - return int() - @green.setter - def green(self, value: int): + return bool() + @isGroundReflectionEnabled.setter + def isGroundReflectionEnabled(self, value: bool): """ - Gets and sets the green component of the color. The value can be 0 to 255. + Gets and sets if ground reflection is enabled. Setting this + property is only valid when the graphics preset is set to "custom" + and will fail if it is set to "quality" or "performance". The + graphics preset can be determined by using the graphicsPreset property, + as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset """ pass @property - def blue(self) -> int: + def isObjectShadowEnabled(self) -> bool: + """ + Gets and sets if object shadows is enabled. Setting this + property is only valid when the graphics preset is set to "custom" + and will fail if it is set to "quality" or "performance". The + graphics preset can be determined by using the graphicsPreset property, + as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset + """ + return bool() + @isObjectShadowEnabled.setter + def isObjectShadowEnabled(self, value: bool): + """ + Gets and sets if object shadows is enabled. Setting this + property is only valid when the graphics preset is set to "custom" + and will fail if it is set to "quality" or "performance". The + graphics preset can be determined by using the graphicsPreset property, + as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset + """ + pass + @property + def isAmbientOcclusionEnabled(self) -> bool: + """ + Gets and sets if ambient occlusion is enabled. Setting this + property is only valid when the graphics preset is set to "custom" + and will fail if it is set to "quality" or "performance". The + graphics preset can be determined by using the graphicsPreset property, + as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset + """ + return bool() + @isAmbientOcclusionEnabled.setter + def isAmbientOcclusionEnabled(self, value: bool): + """ + Gets and sets if ambient occlusion is enabled. Setting this + property is only valid when the graphics preset is set to "custom" + and will fail if it is set to "quality" or "performance". The + graphics preset can be determined by using the graphicsPreset property, + as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset + """ + pass + @property + def isAntiAliasingEnabled(self) -> bool: + """ + Gets and sets if antialiasing is enabled. Setting this + property is only valid when the graphics preset is set to "custom" + and will fail if it is set to "quality" or "performance". The + graphics preset can be determined by using the graphicsPreset property, + as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset + """ + return bool() + @isAntiAliasingEnabled.setter + def isAntiAliasingEnabled(self, value: bool): + """ + Gets and sets if antialiasing is enabled. Setting this + property is only valid when the graphics preset is set to "custom" + and will fail if it is set to "quality" or "performance". The + graphics preset can be determined by using the graphicsPreset property, + as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset + """ + 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 web client. + """ + 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. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Color: + return Color() + @staticmethod + def create(red: int, green: int, blue: int, opacity: int) -> Color: + """ + Creates a new color. + red : The red component of the color. The value can be 0 to 255. + green : The green component of the color. The value can be 0 to 255. + blue : The blue component of the color. The value can be 0 to 255. + opacity : The opacity of the color. The value can be 0 to 255. + Returns the newly created color or null if the creation failed. + """ + return Color() + def getColor(self) -> tuple[bool, int, int, int, int]: + """ + Gets all of the information defining this color. + red : The red component of the color. The value can be 0 to 255. + green : The green component of the color. The value can be 0 to 255. + blue : The blue component of the color. The value can be 0 to 255. + opacity : The opacity of the color. The value can be 0 to 255. A value of 255 indicates + it is completely opaque. + Returns true if getting the color information was successful. + """ + return (bool(), int(), int(), int(), int()) + def setColor(self, red: int, green: int, blue: int, opacity: int) -> bool: + """ + Sets all of the color information. + red : The red component of the color. The value can be 0 to 255. + green : The green component of the color. The value can be 0 to 255. + blue : The blue component of the color. The value can be 0 to 255. + opacity : The opacity of the color. The value can be 0 to 255. A value of 255 indicates + it is completely opaque. Depending on where the color is used, the opacity + value may be ignored. + Returns true if setting the color information was successful. + """ + return bool() + @property + def red(self) -> int: + """ + Gets and sets the red component of the color. The value can be 0 to 255. + """ + return int() + @red.setter + def red(self, value: int): + """ + Gets and sets the red component of the color. The value can be 0 to 255. + """ + pass + @property + def green(self) -> int: + """ + Gets and sets the green component of the color. The value can be 0 to 255. + """ + return int() + @green.setter + def green(self, value: int): + """ + Gets and sets the green component of the color. The value can be 0 to 255. + """ + pass + @property + def blue(self) -> int: """ Gets and sets the blue component of the color. The value can be 0 to 255. """ @@ -1831,13 +2560,15 @@ def blue(self, value: int): @property def opacity(self) -> int: """ - Gets and sets the opacity of the color. The value can be 0 to 255. + Gets and sets the opacity of the color. The value can be 0 to 255. A value + of 0 is transparent and 255 is opaque. """ return int() @opacity.setter def opacity(self, value: int): """ - Gets and sets the opacity of the color. The value can be 0 to 255. + Gets and sets the opacity of the color. The value can be 0 to 255. A value + of 0 is transparent and 255 is opaque. """ pass @@ -1855,7 +2586,7 @@ def cast(arg) -> Command: def setDialogInitialSize(self, width: int, height: int) -> bool: """ Sets the initial size of the dialog when it is first displayed. If this is not - set, Fusion 360 will use a default size for the dialog. + set, Fusion will use a default size for the dialog. width : The width of the dialog in pixels. height : The height of the dialog in pixels. Returns true if the default size was successfully set. @@ -1915,14 +2646,28 @@ 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. Returns true if beginning the step was successful. """ return bool() + def setDialogSize(self, width: int, height: int) -> bool: + """ + Sets the size of the dialog and overrides any size. This can be used when the command is + created or anytime while the command is running. If the height is zero, the dialog will be sized + to fit the command inputs currently displayed. + width : The width of the dialog in pixels. + height : The height of the dialog in pixels. If zero, the dialog will be sized to fit the command inputs currently displayed. + Returns true if size was successfully set. + """ + return bool() @property def parentCommandDefinition(self) -> CommandDefinition: """ @@ -1985,6 +2730,14 @@ def inputChanged(self) -> InputChangedEvent: def validateInputs(self) -> ValidateInputsEvent: """ Gets an event that is fired to allow you to check if the current state of the inputs are valid for execution. + + The timing of this event is indeterminate and not always tied to the editing of an input. There are cases where + this isn't fired when an input is edited. This happens when an input is able to validate its content on its own. + For example, if you enter an invalid value for a ValueCommandInput, it can evaluate this on its own, and as a + result, the validate inputs event is not fired. Fusion will sometimes fire this event at other random times that + are not tied to the edit of an input. + + If you want to be notified when an input changes, you should use the input changed event instead. Returns a ValidateInputsEvent object that is used to connect and release from the event. """ return ValidateInputsEvent() @@ -2107,22 +2860,16 @@ def cancelButtonText(self, value: str): @property def isRepeatable(self) -> bool: """ - Gets and Sets if this command is repeatable using the 'Repeat Last Command' option from the Fusion 360 marking menu. + Gets and Sets if this command is repeatable using the 'Repeat Last Command' option from the Fusion marking menu. """ return bool() @isRepeatable.setter def isRepeatable(self, value: bool): """ - Gets and Sets if this command is repeatable using the 'Repeat Last Command' option from the Fusion 360 marking menu. + Gets and Sets if this command is repeatable using the 'Repeat Last Command' option from the Fusion marking menu. """ 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 +2888,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 +3015,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 +3048,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 +3059,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 +3085,58 @@ 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() + @property + def hasDistinctSelectionSets(self) -> bool: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Determines if this selection input shares a common selection set with the other selection inputs + of this command or its own unique selection set. The default is False, which means each selection + input will have its own selection set. This means that the items in this selection set are only + shown as selected when this selection input is active. As a result, other selection inputs associated + with this command can select those same entities. + + If this is True, then all selection inputs share a selection set, which means that when entities + are selected by any of the selection inputs of this command, + they will remain selected regardless of which command input is active. This has the side effect that + once an entity is selected, it cannot be selected again by another selection input. + """ + return bool() + @hasDistinctSelectionSets.setter + def hasDistinctSelectionSets(self, value: bool): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Determines if this selection input shares a common selection set with the other selection inputs + of this command or its own unique selection set. The default is False, which means each selection + input will have its own selection set. This means that the items in this selection set are only + shown as selected when this selection input is active. As a result, other selection inputs associated + with this command can select those same entities. + + If this is True, then all selection inputs share a selection set, which means that when entities + are selected by any of the selection inputs of this command, + they will remain selected regardless of which command input is active. This has the side effect that + once an entity is selected, it cannot be selected again by another selection input. + """ + pass class CommandCreatedEventHandler(EventHandler): """ @@ -2400,12 +3167,11 @@ 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. - input : A list of named values that will provide input to the command. The values supported are unique for each command. - and not all commands support input values. + input : This argument is ignored and exists for possible future use. Returns true or false indicating if the execution was successful. """ return bool() @@ -2471,6 +3237,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,22 +3258,25 @@ 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 def resourceFolder(self) -> str: """ - Gets or sets the directory that contains any additional files associated with this command. - These are typically the image files that will be used for a button and the - HTML files for a tool clip or helps and tips. + This argument defines the resource folder that contains the images used for the command icon. + Icons can be defined using either PNG or SVG files. More information about icons can be found + in the user manual topic User Interface Customization. + """ return str() @resourceFolder.setter def resourceFolder(self, value: str): """ - Gets or sets the directory that contains any additional files associated with this command. - These are typically the image files that will be used for a button and the - HTML files for a tool clip or helps and tips. + This argument defines the resource folder that contains the images used for the command icon. + Icons can be defined using either PNG or SVG files. More information about icons can be found + in the user manual topic User Interface Customization. + """ pass @property @@ -2534,14 +3304,20 @@ def name(self, value: str): class CommandDefinitions(Base): """ Provides access to all of the available command definitions. This is all those created via - the API but also includes the command definitions defined by Fusion 360 for the native commands. + the API but also includes the command definitions defined by Fusion for the native commands. """ def __init__(self): pass @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 @@ -2563,11 +3339,10 @@ def addButtonDefinition(self, id: str, name: str, tooltip: str, resourceFolder: 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'. - resourceFolder : Specifies the folder where the resources for this command are located. These are various sizes and styles of PNG - files that are used for the button image. To fully support all potential options you should create files with - the following names and sizes: 16x16.png , 32x32.png, 64x64.png (used for high-res displays), 16x16-dark.png, 32x32-dark.png, 64x64-dark.png - The dark images are used when the command is highlighted and can contain lighter lines to contrast better with the blue highlighting. If - you don't provide dark images Fusion 360 will use the regular images when highlighting the button. + resourceFolder : This argument defines the resource folder that contains the images used for the icon. Icons can be + defined using either PNG or SVG files. More information about icons can be found + in the user manual topic User Interface Customization. + This is an optional argument and if not provided a default icon will be used. Returns the created CommandDefinition object or null if the creation failed. @@ -2599,7 +3374,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. @@ -2615,7 +3390,10 @@ def addListDefinition(self, id: str, name: str, listControlDisplayType: ListCont limited to the following set of characters, [A-Z][a-z][0-9] and _. name : The name displayed in the UI for the associated selected check box list control. listControlDisplayType : Specifies the type of controls to be displayed within the list. - resourceFolder : The folder containing any resources used for items in this list. + resourceFolder : This argument defines the resource folder that contains the images used as the icon for items in the list. + Icons can be defined using either PNG or SVG files. More information about icons can be found + in the user manual topic User Interface Customization. + Returns the created CommandDefinition object or null if the creation failed. """ return CommandDefinition() @@ -2695,24 +3473,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 +3581,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 +3595,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 +3628,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 @@ -2843,14 +3637,18 @@ def addBoolValueInput(self, id: str, name: str, isCheckBox: bool, resourceFolder name : The displayed name of this command as seen in the dialog. isCheckBox : Specifies if this input should be displayed as a check box or a button. If true a check box is displayed, if false a button is displayed that can be clicked to toggle it's state. - resourceFolder : Specifies the folder that contains the image for the input. - It's optional if isCheckBox is true. If it's set for check box, the check box will be present as a button and has an up or down state. + resourceFolder : Specifies the folder that contains the icon for the input. + This is optional if isCheckBox is true. If it's defined for a check box, the check box will + display as a button using the icon and will have an up or down state. Icons can be defined using either + PNG or SVG files. More information about icons can be found + in the user manual topic User Interface Customization. + initialValue : Specifies the initial value of the check box or button where for a check box the value of True results in it being checked and for a button a value of true results in the button being pressed. 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 +3693,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 +3707,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 +3721,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 +3732,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 +3750,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 + by the user, Fusion 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://fusion.autodesk.com>Fusion</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 +3801,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,14 +3818,16 @@ 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. name : The displayed label of this tab as seen in the dialog. resourceFolder : An optional parameter that specifies 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. + on the tab needs to be provided. More information about icons can be found in the user manual + topic User Interface Customization. + Returns the created TabCommandInput object or null if the creation failed. """ return TabCommandInput() @@ -3054,14 +3862,17 @@ 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. 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. - resourceFolder : Specifies the folder that contains the image for the input. + resourceFolder : Specifies the folder that contains the icon to use for the input. This is an optional argument. The input is shown as a check box if the resource folder is not set. + More information about icons can be found in the user manual + topic User Interface Customization. + Returns the created DirectionCommandInput object or null if the creation failed. """ return DirectionCommandInput() @@ -3105,7 +3916,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 +3939,37 @@ 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() + def addSeparatorCommandInput(self, id: str) -> SeparatorCommandInput: + """ + Adds a new Separator input to the command. A separator input is for visual purposes only and creates + a line in the dialog providing a visual separation between the command inputs above and below where + the separator is inserted. + id : The unique ID of this command input. It must be unique with respect to the other inputs associated with this command. + Returns the created SeparatorCommandInput object or null if the creation failed. + """ + return SeparatorCommandInput() @property def command(self) -> Command: """ @@ -3189,6 +4031,26 @@ def name(self, value: str): """ pass +class CopyFileInput(Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + The base class for any copy file input objects. + """ + 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() + class Curve2D(Base): """ The base class for all 2D transient geometry classes. @@ -3247,10 +4109,42 @@ def evaluator(self) -> CurveEvaluator3D: """ return CurveEvaluator3D() -class CurveEvaluator2D(Base): +class Curve3DPath(Base): """ - 2D curve evaluator that is obtained from a transient curve and allows you to perform - various evaluations on the curve. + !!!!! 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 + various evaluations on the curve. """ def __init__(self): pass @@ -3663,7 +4557,7 @@ def cast(arg) -> CustomEventHandler: return CustomEventHandler() def notify(self, eventArgs: CustomEventArgs) -> None: """ - The function called by Fusion 360 when the associated event is fired. + The function called by Fusion when the associated event is fired. eventArgs : Returns an object that provides access to additional information associated with the event. """ pass @@ -3692,22 +4586,34 @@ def findFileById(self, id: str) -> DataFile: urn:adsk.wipprod:fs.file:vf.NazykCYLRWKZ5tpzJtEQ1A?version=3 - This is also the same id that you'll obtain if you use the Forge Data Management API. + This is also the same id that you'll obtain if you use the APS Data Management API. Returns a DataFile if one was found matching the input id or null if one was not found or you don't - have privileges to access it. You can use the Application.getLastError method to determine the reason - for the failure. + have privileges to access it. """ return DataFile() + def findFolderById(self, id: str) -> DataFolder: + """ + Returns the DataFolder identified by the input id. This can fail if there isn't a DataFolder identified + with the specified id or if the current user doesn't have privileges to access the folder. + id : The full id of the folder will be something similar to that shown below. + + urn:adsk.wipprod:fs.folder:co.BdMZ64GqTAie4w3NShw23C + + This is also the same id that you'll obtain if you use the APS Data Management API. + Returns a DataFolder if one is found matching the input id or null if one is not found or you don't + have privileges to access it. + """ + return DataFolder() @property def activeProject(self) -> DataProject: """ - Gets and sets the active DataProject. This is the project currently displayed in the Fusion 360 Data Panel. + Gets and sets the active DataProject. This is the project currently displayed in the Fusion Data Panel. """ return DataProject() @activeProject.setter def activeProject(self, value: DataProject): """ - Gets and sets the active DataProject. This is the project currently displayed in the Fusion 360 Data Panel. + Gets and sets the active DataProject. This is the project currently displayed in the Fusion Data Panel. """ pass @property @@ -3737,30 +4643,78 @@ def activeHub(self, value: DataHub): @property def isDataPanelVisible(self) -> bool: """ - Gets and sets if the data panel is visible within Fusion 360. + Gets and sets if the data panel is visible within Fusion. """ return bool() @isDataPanelVisible.setter def isDataPanelVisible(self, value: bool): """ - Gets and sets if the data panel is visible within Fusion 360. + Gets and sets if the data panel is visible within Fusion. """ pass @property def personalUseLimits(self) -> PersonalUseLimits: """ - If the user is running with a "Fusion 360 for Personal Use license", this property + If the user is running with a "Fusion for Personal Use license", this property will return a peronalUseLimits object which provides information about file limits associated with the license. If the user is running with any other license type, this property will return null. """ return PersonalUseLimits() @property - def activeSpaceCollectionId(self) -> str: + def activeFolder(self) -> DataFolder: + """ + Gets the active DataFolder as seen in the Fusion Data Panel. + """ + return DataFolder() + +class DataComponent(Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + An object that provides ID's that can be used to access the component using MFG DM API. + These ID's are generated by the MFG DM API when a file is saved. For that reason, they + are not available from a component before its parent file is saved. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> DataComponent: + return DataComponent() + @property + def id(self) -> str: + """ + Gets the unique ID of this DataComponent. This ID can be used within the MFG DM API. + This ID is created by the MFG DM API when the component is first saved. + """ + return str() + @property + def versionId(self) -> str: + """ + Returns the unique ID of this file version of the DataComponent. This ID is updated + whenever the document the component exists within is saved. + """ + return str() + @property + def mfgdmModelId(self) -> str: + """ + Get the MFGDM model Id. + """ + return str() + @property + def timestamp(self) -> str: """ - Returns the Id of the currently active space collection. + Get the resolution timestamp. """ return str() + @property + def component(self) -> Base: + """ + Get the fusion.Component that corresponds to this data component. + """ + return Base() class DataEventHandler(EventHandler): """ @@ -3774,7 +4728,7 @@ def cast(arg) -> DataEventHandler: return DataEventHandler() def notify(self, eventArgs: DataEventArgs) -> None: """ - The function called by Fusion 360 when the associated event is fired. + The function called by Fusion when the associated event is fired. eventArgs : Returns an object that provides access to additional information associated with the event. """ pass @@ -3814,13 +4768,6 @@ 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: """ Performs a synchronous or asynchronous download of this DataFile. Only DataFiles that represent @@ -3844,7 +4791,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. @@ -3853,6 +4800,64 @@ def refresh(self, handler: DataEventHandler) -> bool: Returns True in synchronous mode if successful. Returns True in asynchronous mode if the refresh was successfully started. """ return bool() + def createMilestone(self, milestoneName: str) -> Milestone: + """ + Makes the version this DataFile represents a milestone. + milestoneName : The name of the milestone as seen in the data panel and Fusion web client. If an empty string + is provided, a default name will be used. + Returns the created Milestone object or null in the case of failure. One case of failure is + if a milestone already exists for this version. + """ + return Milestone() + def createCopyDesignFileInput(self, folder: DataFolder) -> CopyDesignFileInput: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Creates a new CopyDesignFileInput object that is used to create a copy of a + DataFile that represents a Fusion design. You set options on the CopyDesignFileInput + object to define the behavior of the copy and call the copyWithInput method + passing in the input object to create the copy. + folder : The folder where the copied files will be created. + Returns the created CopyDesignFileInput object or null in the case of failure. + """ + return CopyDesignFileInput() + def createCopyFileInput(self, folder: DataFolder) -> CopyFileInput: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Creates a new CopyFileInput object that is used to create a copy of any DataFile. + folder : The folder where the copied file will be created. + Returns the created CopyFileInput object or null in the case of failure. + """ + return CopyFileInput() + def copyWithInput(self, input: CopyFileInput) -> DataFileFuture: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Executes the copy using the information defined by the provided CopyFileInput. + input : The input object is of CopyFileInput object type, based on which our copy behavior will be defined. A + CopyDesignFileInput object is created using the DataFile.createCopyDesignFileInput. + The copy process is asynchronous which means that this method + will return before the copy process has completed. The returned + DataFileFuture object can be used to check on the current state of the + copy to determine if it is still copying, is complete, or has failed. + If it is complete the new DataFile that was created as a result of the copy + can be retrieved through the DataFileFuture object. + """ + return DataFileFuture() + def createDataVersion(self, versionDescription: str) -> bool: + """ + Creates a version of this DataFile at tip. + versionDescription : The versionDescription is visible in the History Panel. + Returns true when Create Version Job is triggered. + """ + return bool() @property def name(self) -> str: """ @@ -3887,7 +4892,7 @@ def parentProject(self) -> DataProject: def id(self) -> str: """ Returns the unique ID for this DataFile. This is the same id used in the - Forge Data Management API for an Item and is in the unencoded form and will + APS Data Management API for an Item and is in the unencoded form and will look similar to this: "urn:adsk.wipprod:dm.lineage:hC6k4hndRWaeIVhIjvHu8w" """ return str() @@ -3955,13 +4960,13 @@ def hasOutofDateChildReferences(self) -> bool: @property def hasChildReferences(self) -> bool: """ - Gets if this datafile has children, (i.e. a Fusion 360 Design containing referenced components). + Gets if this datafile has children, (i.e. a Fusion Design containing referenced components). """ return bool() @property def hasParentReferences(self) -> bool: """ - Gets if this datafile has parents, (i.e. this is a child being referenced in another Fusion 360 design). + Gets if this datafile has parents, (i.e. this is a child being referenced in another Fusion design). """ return bool() @property @@ -3977,12 +4982,6 @@ def parentReferences(self) -> DataFiles: """ return DataFiles() @property - def publicLink(self) -> str: - """ - Returns a short url of this data file which can be shared with others. - """ - return str() - @property def dateCreated(self) -> int: """ Returns the date when this data file was created as UNIX epoch time. UNIX epoch time @@ -3997,7 +4996,7 @@ def dateCreated(self) -> int: def versionId(self) -> str: """ Returns the version ID for this DataFile. This is the same id used in the - Forge Data Management API for an Item and is in the unencoded form and will + APS Data Management API for an Item and is in the unencoded form and will look similar to this: "urn:adsk.wipqa:fs.file:vf.W3syIw1lQAW-5vWObMdYnA?version=2" """ return str() @@ -4005,7 +5004,7 @@ def versionId(self) -> str: def isReadOnly(self) -> bool: """ Gets if this file is currently read-only or not. A file can be read-only for various - reasons. For example, if you are running with a "Fusion 360 for Personal Use license" and + reasons. For example, if you are running with a "Fusion for Personal Use license" and have not designate the file to be editable or if someone else is editing the file. """ return bool() @@ -4018,6 +5017,133 @@ 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() + @property + def isConfiguredDesign(self) -> bool: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Gets if this file represents a configured design. This is a design where + a configuration table is defined. Use the configurationTable property to get + the associated table. + """ + return bool() + @property + def configurationTable(self) -> Base: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + If this file is a configured design or a configuration, this property returns the associated + ConfigTable object. If this is not a configured design or configuration, this property + returns null. + + This property is typed as core.Base because the adsk.core library does not reference + the fusion library where the ConfigurationTable object is defined. At runtime, this property + will return a ConfigurationTable object. + """ + return Base() + @property + def isConfiguration(self) -> bool: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Gets if this file is a configuration of a configuration table. If this returns true, + the configurationRowId can be used to get the row used to define this configuration. + Also, when this is true, the design is essentially read-only and edits are either + blocked from taking place or cannot be saved. + """ + return bool() + @property + def configurationRowId(self) -> str: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns the ID of the row that defines this configuration. Use the + isCongiguration property to determine if this Design is a configuration + or not. If this is not a configuration, this property returns an + empty string. + """ + return str() + @property + def milestones(self) -> Milestones: + """ + Returns a collection of Milestones associated with all versions of this DataFile. + """ + return Milestones() + @property + def milestone(self) -> Milestone: + """ + If the version this DataFile represents is a milestone, a Milestone object will + be returned. If it's not a milestone, null is returned. + """ + return Milestone() + @property + def isMilestone(self) -> bool: + """ + Returns if the version this Datafile represents is a milestone. Returns true if it + is a milestone. + """ + return bool() + @property + def sharedLink(self) -> SharedLink: + """ + Returns the SharedLink object associated with this DataFile. You can use the SharedLink + object to enable a shared link and set its behavior and to get the shared link URL. + """ + return SharedLink() + @property + def fusionWebURL(self) -> str: + """ +

Returns a URL that can be used to access the Fusion Web interface for this file within a browser. + The person using the URL must have an Autodesk account and have authority to access the hub + this file is owned by.

+ +

You can also use this URL to directly open the file in Fusion using the Fusion protocol handler + as discussed in the Opening Files from a Web Page topic in the API user manual.

+ """ + return str() + @property + def dataObject(self) -> DataObjectFuture: + """ + Starts the process to get the raw binary data associated with this DataFile. Because the data exists + on the cloud, a DataObjectFuture is returned that you can use to monitor the state of downloading the + data and then getting the raw data once it is available. + + Only DataFiles that represent non-Fusion data can accessed. For example, this will work for TXT or XLS files but will + fail for F3D files. + """ + return DataObjectFuture() + @property + def thumbnail(self) -> DataObjectFuture: + """ + Starts the process to get the thumbnail image data associated with this DataFile. Because the data exists + on the cloud, a DataObjectFuture is returned that you can use to monitor the state of downloading the + thumbnail and then getting the image once it is available. + + The data returned is a 256x256 PNG image. For cases where the DataFile does not have an associated thumbnail, + the dataObject property of the returned DataObjectFuture will return null and the state property will return 'FailedFutureState'. + """ + return DataObjectFuture() class DataFileFuture(Base): """ @@ -4051,6 +5177,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. @@ -4062,7 +5194,7 @@ def itemById(self, id: str) -> DataFile: """ Returns the file specified using the ID or version ID of the file. id : The ID or version ID of the file to return. This is the same ID used by - the Forge Data Management API. + the APS Data Management API. Returns the file or null if a file with the specified ID is not found. """ return DataFile() @@ -4104,9 +5236,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 @@ -4170,7 +5302,7 @@ def isRoot(self) -> bool: def id(self) -> str: """ Returns the unique ID for this folder. This is the same id used in the - Forge Data Management API. + APS Data Management API. """ return str() @@ -4183,6 +5315,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. @@ -4201,7 +5339,7 @@ def itemById(self, id: str) -> DataFolder: """ Returns the folder specified using the ID of the folder. id : The ID of the folder to return. This is the same ID used by - the Forge Data Management API. + the APS Data Management API. Returns the folder or null if a folder with the specified ID is not found. """ return DataFolder() @@ -4256,10 +5394,39 @@ def hubType(self) -> HubTypes: def id(self) -> str: """ Returns the unique ID for this hub. This is the same id used in the - Forge Data Management API in an unencoded form and will look something like + APS Data Management API in an unencoded form and will look something like this: "a.45637". """ return str() + @property + def fusionWebURL(self) -> str: + """ + Returns a URL that can be used to access the Fusion Web interface for this hub within a browser. + The person using the URL must have an Autodesk account and have authority to access the hub. + """ + return str() + @property + def version(self) -> str: + """ + Returns the version of the hub. + """ + return str() + @property + def isCollaborativeEditingEnabled(self) -> bool: + """ + Returns true if Concurrent Editing is enabled. + """ + return bool() + @property + def mfgdmId(self) -> str: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Get the MFGDM ID for this hub. + """ + return str() class DataHubs(Base): """ @@ -4270,6 +5437,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. @@ -4281,7 +5454,7 @@ def itemById(self, id: str) -> DataHub: """ Returns the hub specified using the ID of the hub. id : The ID of the hub to return. This is the same ID used by - the Forge Data Management API. + the APS Data Management API. Returns the hub or null if a hub with the specified ID is not found. """ return DataHub() @@ -4298,6 +5471,43 @@ def count(self) -> int: """ return int() +class DataObject(Base): + """ + The DataObject provides access to the raw data that represents a logical entity. Typically, + it is the bytes of a stored file, but it can also be something like the image data that + could be stored within another file. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> DataObject: + return DataObject() + def getAsBase64String(self) -> str: + """ + Gets the binary data represented by the DataObject as a Base64 encoded string. + Returns the binary data represented by the DataObject as a standard Base64 encoded string. Fails + with an appropriate error in the case where the data cannot be provided. + """ + return str() + def asString(self) -> str: + """ + Gets the file as a string (UTF-8). This is convenient when the saved file contains string data. + For example, if the file contains JSON data. This eliminates the need to convert the Base64 string + into a standard string. + Returns the data as a standard (UTF-8) string. Fails with an appropriate error in the case where + the data cannot be provided. + """ + return str() + def saveToFile(self, filename: str) -> bool: + """ + Saves the data represented by the DataObject to a file. + filename : The full filename to save the file to. This includes the full path and the filename. + The folder must already exist and you are responsible for specifying the correct + extension to match the file type. + Returns true if the save was successful. + """ + return bool() + class DataProject(Base): """ Represents the master branch project within a hub. @@ -4330,7 +5540,7 @@ def rootFolder(self) -> DataFolder: def id(self) -> str: """ Returns the unique ID for this project. This is the same id used in the - Forge Data Management API in an unencoded form and will look something like + APS Data Management API in an unencoded form and will look something like this: "a.45637". """ return str() @@ -4350,6 +5560,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 +5573,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. @@ -4371,7 +5587,7 @@ def itemById(self, id: str) -> DataProject: """ Returns the project specified using the ID of the project. id : The ID of the project to return. This is the same ID used by - the Forge Data Management API. + the APS Data Management API. Returns the project or null if a project with the specified ID is not found. """ return DataProject() @@ -4414,6 +5630,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 +5647,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 @@ -4456,7 +5678,7 @@ def close(self, saveChanges: bool) -> bool: saveChanges : This argument defines what the behavior of the close is when the document has been modified. If the document hasn't been modified then this argument is ignored and the document is closed. If the document has been modified - and this argument is false then Fusion 360 will close the document and lose + and this argument is false then Fusion will close the document and lose any changes. If the document has been modified and this argument is true then it will prompt the user if they want to save the changes or not, just the same as if the user was to interactively close the document. @@ -4469,7 +5691,10 @@ def save(self, description: str) -> bool: time a document is saved. You can determine if a document has been saved by checking the value of the isSaved property. description : The version description for this document - Returns true if saving the document was successful. + Returns true if saving the document was successful. This will also return true + in the case when save is called and the document has not been modified since the + last save. In this case nothing needs to be saved, so the call is still considered + successful because the correct action is to do nothing. """ return bool() def saveAs(self, name: str, dataFolder: DataFolder, description: str, tag: str) -> bool: @@ -4478,7 +5703,7 @@ def saveAs(self, name: str, dataFolder: DataFolder, description: str, tag: str) location and this document becomes the saved document. If this is a new document that has never been saved you must use the SaveAs method in order to specify the location and name. You can determine if the document has been saved by checking the value of the isSaved property. - name : The name to use for this document. If this is an empty string, Fusion 360 will use the default name + name : The name to use for this document. If this is an empty string, Fusion will use the default name assigned when the document was created. dataFolder : The data folder to save this document to. description : The description string of the document. This can be an empty string. @@ -4486,16 +5711,61 @@ 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 external references. This is equivalent to clicking the "Out of Date" + button in the Quick Access Toolbar to update all out of date external references. + """ + return bool() + def saveMilestone(self, milestoneName: str, versionDescription: str) -> bool: + """ + Saves the document as a new milestone. This method is not applicable when saving a document + for the first time. In that case, you must use the SaveAs method. You can determine if a + document has been saved by checking the value of the isSaved property. + milestoneName : The name of the milestone as seen in the data panel and Fusion web client. If an empty string + is provided a default name will be used. + versionDescription : The description associated with the version. If an empty string is provided, a default description will be used. + Returns true if saving the document as a milestone was successful. + """ + return bool() + def saveDataVersion(self, versionDescription: str) -> bool: + """ + Creates a version on a dirty document by implictly saving it first. + This method is not applicable when saving a document for the first time. + In that case, you must use the Document.saveAs method. You can determine if a + document has been saved by checking the value of the isSaved property. + versionDescription : The description associated with the data version. + Returns true if saving the document with data version was successful. + """ + 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 @@ -4551,7 +5821,7 @@ def dataFile(self) -> DataFile: @property def version(self) -> str: """ - Returns the Fusion 360 version this document was last saved with. + Returns the Fusion version this document was last saved with. """ return str() @property @@ -4564,7 +5834,7 @@ def documentReferences(self) -> DocumentReferences: @property def isUpToDate(self) -> bool: """ - Indicates if any references in the assembly are out of date. This is the API + Indicates if any external references in the assembly are out of date. This is the API equivalent to the "Out of Date" notification displayed in the Quick Access Toolbar. """ return bool() @@ -4601,7 +5871,7 @@ def cast(arg) -> DocumentEventHandler: return DocumentEventHandler() def notify(self, eventArgs: DocumentEventArgs) -> None: """ - The function called by Fusion 360 when the associated event is fired. + The function called by Fusion when the associated event is fired. eventArgs : Returns an object that provides access to additional information associated with the event. """ pass @@ -4631,7 +5901,7 @@ def dataFile(self) -> DataFile: @property def referencedDocument(self) -> Document: """ - The document currently open in Fusion 360 that this object references. + The document currently open in Fusion that this object references. """ return Document() @property @@ -4673,6 +5943,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 +5973,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 +5997,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 +6069,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 +6120,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 +6240,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 +6259,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 @@ -5089,6 +6383,22 @@ def initialDirectory(self, value: str): """ pass +class Future(Base): + """ + The base class for futures. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Future: + return Future() + @property + def state(self) -> FutureStates: + """ + Returns the current state of the process associated with this future. + """ + return FutureStates() + class GeneralPreferences(Base): """ Provides access to the general preferences. @@ -5102,14 +6412,14 @@ def cast(arg) -> GeneralPreferences: def userLanguage(self) -> UserLanguages: """ Gets and sets the current language. Setting the language does not - take effect until the next time Fusion 360 is started. + take effect until the next time Fusion is started. """ return UserLanguages() @userLanguage.setter def userLanguage(self, value: UserLanguages): """ Gets and sets the current language. Setting the language does not - take effect until the next time Fusion 360 is started. + take effect until the next time Fusion is started. """ pass @property @@ -5292,6 +6602,72 @@ 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 + @property + def isHangDetectionEnabled(self) -> bool: + """ + Gets and sets whether hang detection is enabled. This is a Windows only setting. + If True, Fusion will detect when a task processes for longer than a specific time. + A dialog is displayed if a hang is detected, allowing the user to continue processing + or stop Fusion and send an error report. + """ + return bool() + @isHangDetectionEnabled.setter + def isHangDetectionEnabled(self, value: bool): + """ + Gets and sets whether hang detection is enabled. This is a Windows only setting. + If True, Fusion will detect when a task processes for longer than a specific time. + A dialog is displayed if a hang is detected, allowing the user to continue processing + or stop Fusion and send an error report. + """ + pass + @property + def userInterfaceTheme(self) -> UserInterfaceThemes: + """ + Gets and sets which color theme is used by the user interface. + """ + return UserInterfaceThemes() + @userInterfaceTheme.setter + def userInterfaceTheme(self, value: UserInterfaceThemes): + """ + Gets and sets which color theme is used by the user interface. + """ + pass class GraphicsPreferences(Base): """ @@ -5305,61 +6681,99 @@ def cast(arg) -> GraphicsPreferences: @property def minimumFramesPerSecond(self) -> float: """ - Gets and sets the minimum frames per second. + Gets and sets the minimum frames per second. The isDynamic property must be true for + this to be considered. + Setting this property is only valid when the graphics preset is set + to "custom" and will fail if it is set to "quality" or "performance". + The graphics preset can be determined by using the graphicsPreset + property, as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset """ return float() @minimumFramesPerSecond.setter def minimumFramesPerSecond(self, value: float): """ - Gets and sets the minimum frames per second. + Gets and sets the minimum frames per second. The isDynamic property must be true for + this to be considered. + Setting this property is only valid when the graphics preset is set + to "custom" and will fail if it is set to "quality" or "performance". + The graphics preset can be determined by using the graphicsPreset + property, as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset """ pass @property def selectionDisplayStyle(self) -> SelectionDisplayStyles: """ Gets and sets the style of display to use for selections. + Setting this property is only valid when the graphics preset is set + to "custom" and will fail if it is set to "quality" or "performance". + The graphics preset can be determined by using the graphicsPreset + property, as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset """ return SelectionDisplayStyles() @selectionDisplayStyle.setter def selectionDisplayStyle(self, value: SelectionDisplayStyles): """ Gets and sets the style of display to use for selections. + Setting this property is only valid when the graphics preset is set + to "custom" and will fail if it is set to "quality" or "performance". + The graphics preset can be determined by using the graphicsPreset + property, as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset """ pass @property def degradedSelectionDisplayStyle(self) -> DegradedSelectionDisplayStyles: """ Gets and sets the style of display for degraded selections. + Setting this property is only valid when the graphics preset is set + to "custom" and will fail if it is set to "quality" or "performance". + The graphics preset can be determined by using the graphicsPreset + property, as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset """ return DegradedSelectionDisplayStyles() @degradedSelectionDisplayStyle.setter def degradedSelectionDisplayStyle(self, value: DegradedSelectionDisplayStyles): """ Gets and sets the style of display for degraded selections. + Setting this property is only valid when the graphics preset is set + to "custom" and will fail if it is set to "quality" or "performance". + The graphics preset can be determined by using the graphicsPreset + property, as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset """ pass @property def transparencyEffects(self) -> TransparencyDisplayEffects: """ Gets and sets the style of display for transparency effects. + Setting this property is only valid when the graphics preset is set + to "custom" and will fail if it is set to "quality" or "performance". + The graphics preset can be determined by using the graphicsPreset + property, as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset """ return TransparencyDisplayEffects() @transparencyEffects.setter def transparencyEffects(self, value: TransparencyDisplayEffects): """ Gets and sets the style of display for transparency effects. - """ - pass - @property - def autoThrottleEffects(self) -> bool: - """ - Gets and sets if automatically disable or degrade visual effects to keep the video memory pressure under a safe threshold. - """ - return bool() - @autoThrottleEffects.setter - def autoThrottleEffects(self, value: bool): - """ - Gets and sets if automatically disable or degrade visual effects to keep the video memory pressure under a safe threshold. + Setting this property is only valid when the graphics preset is set + to "custom" and will fail if it is set to "quality" or "performance". + The graphics preset can be determined by using the graphicsPreset + property, as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset """ pass @property @@ -5367,6 +6781,12 @@ def hiddenEdgeDimming(self) -> int: """ Gets and sets the dimming percentage to use for hidden edges. the value is a percentage expressed by a value between 0 and 100. + Setting this property is only valid when the graphics preset is set + to "custom" and will fail if it is set to "quality" or "performance". + The graphics preset can be determined by using the graphicsPreset + property, as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset """ return int() @hiddenEdgeDimming.setter @@ -5374,37 +6794,197 @@ def hiddenEdgeDimming(self, value: int): """ Gets and sets the dimming percentage to use for hidden edges. the value is a percentage expressed by a value between 0 and 100. + Setting this property is only valid when the graphics preset is set + to "custom" and will fail if it is set to "quality" or "performance". + The graphics preset can be determined by using the graphicsPreset + property, as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset """ pass - -class GridPreferences(Base): - """ - The GridPreferences object provides access to grid related preferences. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> GridPreferences: - return GridPreferences() @property - def isLayoutGridLockEnabled(self) -> bool: + def isWoodBumpEnabled(self) -> bool: """ - Gets and sets if the layout grid lock is enabled. + Gets and sets whether the bump effect is enabled when supported by the Wood (Solid) + and the graphics driver. + Setting this property is only valid when the graphics preset is set + to "custom" and will fail if it is set to "quality" or "performance". + The graphics preset can be determined by using the graphicsPreset + property, as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset """ return bool() - @isLayoutGridLockEnabled.setter - def isLayoutGridLockEnabled(self, value: bool): + @isWoodBumpEnabled.setter + def isWoodBumpEnabled(self, value: bool): """ - Gets and sets if the layout grid lock is enabled. + Gets and sets whether the bump effect is enabled when supported by the Wood (Solid) + and the graphics driver. + Setting this property is only valid when the graphics preset is set + to "custom" and will fail if it is set to "quality" or "performance". + The graphics preset can be determined by using the graphicsPreset + property, as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset """ pass - -class HTMLEventHandler(EventHandler): - """ - The HTMLEventHandler is a client implemented class that can be added as a handler to a HTML - event which is triggered by JavaScript that associated with HTML displayed within a palette - calling the adsk.fusionSendData function to send data from the HTML back to your add-in. - """ + @property + def isSurfaceNormalDisplayDisabled(self) -> int: + """ + Gets and sets whether the surface normal display is disabled. + Setting this property is only valid when the graphics preset is set + to "custom" and will fail if it is set to "quality" or "performance". + The graphics preset can be determined by using the graphicsPreset + property, as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset + """ + return int() + @isSurfaceNormalDisplayDisabled.setter + def isSurfaceNormalDisplayDisabled(self, value: int): + """ + Gets and sets whether the surface normal display is disabled. + Setting this property is only valid when the graphics preset is set + to "custom" and will fail if it is set to "quality" or "performance". + The graphics preset can be determined by using the graphicsPreset + property, as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset + """ + pass + @property + def graphicsPreset(self) -> GraphicsPresets: + """ + Gets and sets if the different graphics settings are using predefined + settings to get the best performance, quality, or are custom to allow + any settings. Setting this to performance or quality will result in other + graphics settings changing to match the defined preset. + """ + return GraphicsPresets() + @graphicsPreset.setter + def graphicsPreset(self, value: GraphicsPresets): + """ + Gets and sets if the different graphics settings are using predefined + settings to get the best performance, quality, or are custom to allow + any settings. Setting this to performance or quality will result in other + graphics settings changing to match the defined preset. + """ + pass + @property + def isDynamic(self) -> bool: + """ + Gets and sets if the value defined by minimumFramesPerSecond will be considered + when processing graphics. This is the equivalent of the "Dynamic" check box in + Preferences dialog. + Setting this property is only valid when the graphics preset is set + to "custom" and will fail if it is set to "quality" or "performance". + The graphics preset can be determined by using the graphicsPreset + property, as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset + """ + return bool() + @isDynamic.setter + def isDynamic(self, value: bool): + """ + Gets and sets if the value defined by minimumFramesPerSecond will be considered + when processing graphics. This is the equivalent of the "Dynamic" check box in + Preferences dialog. + Setting this property is only valid when the graphics preset is set + to "custom" and will fail if it is set to "quality" or "performance". + The graphics preset can be determined by using the graphicsPreset + property, as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset + """ + pass + @property + def isAnimateViewTransitions(self) -> bool: + """ + Gets and sets if the camera should be animated as it transitions from + one view to another. If true, there will be an animated transition. + Setting this property is only valid when the graphics preset is set + to "custom" and will fail if it is set to "quality" or "performance". + The graphics preset can be determined by using the graphicsPreset + property, as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset + """ + return bool() + @isAnimateViewTransitions.setter + def isAnimateViewTransitions(self, value: bool): + """ + Gets and sets if the camera should be animated as it transitions from + one view to another. If true, there will be an animated transition. + Setting this property is only valid when the graphics preset is set + to "custom" and will fail if it is set to "quality" or "performance". + The graphics preset can be determined by using the graphicsPreset + property, as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset + """ + pass + @property + def isHighResolutionCanvasGraphicsEnabled(self) -> bool: + """ + Gets and sets if high resolution canvas graphics is enabled. A value + of true indicates it is enabled. + Setting this property is only valid when the graphics preset is set + to "custom" and will fail if it is set to "quality" or "performance". + The graphics preset can be determined by using the graphicsPreset + property, as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset + """ + return bool() + @isHighResolutionCanvasGraphicsEnabled.setter + def isHighResolutionCanvasGraphicsEnabled(self, value: bool): + """ + Gets and sets if high resolution canvas graphics is enabled. A value + of true indicates it is enabled. + Setting this property is only valid when the graphics preset is set + to "custom" and will fail if it is set to "quality" or "performance". + The graphics preset can be determined by using the graphicsPreset + property, as shown below. + + Application.preferences.graphicsPreferences.graphicsPreset + """ + pass + @property + def canvasEffects(self) -> CanvasEffects: + """ + Provides access to the settings that control the canvas effects. + """ + return CanvasEffects() + +class GridPreferences(Base): + """ + The GridPreferences object provides access to grid related preferences. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> GridPreferences: + return GridPreferences() + @property + def isLayoutGridLockEnabled(self) -> bool: + """ + Gets and sets if the layout grid lock is enabled. + """ + return bool() + @isLayoutGridLockEnabled.setter + def isLayoutGridLockEnabled(self, value: bool): + """ + Gets and sets if the layout grid lock is enabled. + """ + pass + +class HTMLEventHandler(EventHandler): + """ + The HTMLEventHandler is a client implemented class that can be added as a handler to a HTML + event which is triggered by JavaScript that associated with HTML displayed within a palette + calling the adsk.fusionSendData function to send data from the HTML back to your add-in. + """ def __init__(self): pass @staticmethod @@ -5412,14 +6992,199 @@ def cast(arg) -> HTMLEventHandler: return HTMLEventHandler() def notify(self, eventArgs: HTMLEventArgs) -> None: """ - The function called by Fusion 360 when the associated event is fired. + The function called by Fusion when the associated event is fired. + eventArgs : Returns an object that provides access to additional information associated with the event. + """ + pass + +class HttpEventHandler(EventHandler): + """ + The HttpEventHandler is a client implemented class that can be added as a handler to an + HttpEvent. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> HttpEventHandler: + return HttpEventHandler() + def notify(self, eventArgs: HttpEventArgs) -> None: + """ + The function called by Fusion when the associated event is fired. eventArgs : Returns an object that provides access to additional information associated with the event. """ pass +class HttpRequest(Base): + """ + Supports the ability to make HTTP requests. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> HttpRequest: + return HttpRequest() + @staticmethod + def create(url: str, method: HttpMethods = HttpMethods.GetMethod) -> HttpRequest: + """ + Creates a new HttpRequest object. + url : The URL to make the request to. + method : The method to use for the request. The default is GetMethod. + Returns the new HttpRequest object. + """ + return HttpRequest() + def setHeader(self, name: str, value: str) -> bool: + """ + Sets a header for the request. + name : The name of the header value. + value : The header's value. + Returns true if setting the header succeeds. + """ + return bool() + def getHeader(self, name: str) -> str: + """ + Gets the value of the specified header and returns the value. + name : The case insensitive name of the header. + Returns the value of the header, or empty if the header was not found. + You can use the hasHeader method to determine if the header exists before + getting it. This is especially useful in the case where the header exists + but has an empty string value. + """ + return str() + def hasHeader(self, name: str) -> bool: + """ + Gets if the request has a header with the given name. This is useful to distinguish between + the case where a header is not set and the case where a header is set to an empty string. + name : The case insensitive name of the header. + Returns true if a header with this name was set in the response. + """ + return bool() + def removeHeader(self, name: str) -> bool: + """ + Removes a header from the request. + name : The case insensitive name of the header. + Returns true if the header was found and removed. + """ + return bool() + def headers(self) -> tuple[bool, list[str], list[str]]: + """ + Get the request headers. + names : An array of all the header key names. + values : An array of all the header values. + Returns true on success or false on error. + """ + return (bool(), [str()], [str()]) + def execute(self) -> bool: + """ + Execute this request asynchronously. The response will be sent to the completed event. + Returns true if the request was successfully started. + """ + return bool() + def executeSync(self) -> HttpResponse: + """ + Execute this request synchronously. This will block the thread until the request completes. + Returns the response from making this request, or null if an error prevents the request from starting. + """ + return HttpResponse() + @property + def url(self) -> str: + """ + Gets and sets the URL to make the request to. + """ + return str() + @url.setter + def url(self, value: str): + """ + Gets and sets the URL to make the request to. + """ + pass + @property + def method(self) -> HttpMethods: + """ + Gets and sets the method to use for the request. + """ + return HttpMethods() + @method.setter + def method(self, value: HttpMethods): + """ + Gets and sets the method to use for the request. + """ + pass + @property + def data(self) -> str: + """ + Gets and sets the body data to send with this request. + """ + return str() + @data.setter + def data(self, value: str): + """ + Gets and sets the body data to send with this request. + """ + pass + @property + def completed(self) -> HttpEvent: + """ + The completed event fires when the request has completed. This event will fire on successful or failure. + """ + return HttpEvent() + +class HttpResponse(Base): + """ + An object that provides the data associated with an HTTP response. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> HttpResponse: + return HttpResponse() + def getHeader(self, name: str) -> str: + """ + Gets the value of a header. + name : The case insensitive name of the header. + Returns the value of the header, or empty if the header was not found. + You can use the hasHeader method to determine if the header exists before + getting it. This is especially useful in the case where the header exists + but has an empty string value. + """ + return str() + def hasHeader(self, name: str) -> bool: + """ + Gets if the response has a header with the given name. This is useful to distinguish between + the case where a header is not set and the case where a header is set to an empty string. + name : The case insensitive name of the header. + True if a header with this name was set in the response. + """ + return bool() + def headers(self) -> tuple[bool, list[str], list[str]]: + """ + Get the response headers. + names : An array of all the header key names. + values : An array of all the header values. + Returns true on success or false on error. + """ + return (bool(), [str()], [str()]) + @property + def statusCode(self) -> int: + """ + Gets the status code of the response. + """ + return int() + @property + def data(self) -> str: + """ + Gets the response body data. + """ + return str() + @property + def request(self) -> HttpRequest: + """ + Gets the request that generated this response. + """ + return HttpRequest() + class ImportManager(Base): """ - Provides access to functionality to support importing various modeling formats into Fusion 360. + Provides access to functionality to support importing various modeling formats into Fusion. """ def __init__(self): pass @@ -5468,12 +7233,13 @@ def createSMTImportOptions(self, filename: str) -> SMTImportOptions: return SMTImportOptions() def createFusionArchiveImportOptions(self, filename: str) -> FusionArchiveImportOptions: """ - Creates an FusionArchiveImportOptions object that is used to import a design from a Fusion 360 archive format. Creation - of the FusionArchiveImportOptions object does not perform the import. You must pass this object to one of the - ImportManager import methods to perform the import. The FusionArchiveImportOptions supports any available - options when importing from Fusion 360 archive format. - filename : The filename or URL of the Fusion 360 archive file to be imported. - .f3z files and .f3d files containing externally referenced designs are currently not supported. + Creates a FusionArchiveImportOptions object that imports a design from a Fusion archive format. + The creation of the FusionArchiveImportOptions object does not perform the import. You must pass + this object to one of the ImportManager import methods to perform the import. The FusionArchiveImportOptions + object supports the available options when importing from a Fusion archive format. This method only supports + f3d files. For f3z files, you should use the DataFolder.uploadFile method. + filename : The filename or URL of the Fusion archive file to be imported. Only f3d files can be imported. + For f3z files, you should use the DataFolder.uploadFile method. The created FusionArchiveImportOptions object or null if the creation failed. """ return FusionArchiveImportOptions() @@ -5481,11 +7247,13 @@ 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. - A new unnamed, unsaved document will be opened in Fusion 360 as a result. + A new unnamed, unsaved document will be opened in Fusion as a result. """ return Document() def importToTarget(self, importOptions: ImportOptions, target: Base) -> bool: @@ -5496,7 +7264,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 +7289,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 +7320,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 @@ -5603,7 +7383,7 @@ def notify(self, eventArgs: KeyboardEventArgs) -> None: class LinearMarkingMenu(Base): """ Represents the linear marking menu which is the vertical menu that's displayed when the user right-clicks - within Fusion 360. This supports customizing the contents of the context menu. + within Fusion. This supports customizing the contents of the context menu. """ def __init__(self): pass @@ -5733,7 +7513,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. @@ -5745,6 +7531,10 @@ def add(self, name: str, isSelected: bool, icon: str, beforeIndex: int) -> ListI the case of a DropDownCommandInput whose style is LabeledIconDropDownStyle and for ListControlType whose type is not RadioButtonListType. In other cases it is not used and is ignored. + + Icons can be defined using either PNG or SVG files. More information about icons can be found in the + user manual topic User Interface Customization. + beforeIndex : The position of the item within the list. This value indicates the index of the current item to insert this new item just before. For example, a value of 0 will insert it before the first item in the list. An index of -1 will position the button at the bottom of the list. @@ -5792,7 +7582,7 @@ def cast(arg) -> MarkingMenuEventHandler: return MarkingMenuEventHandler() def notify(self, eventArgs: MarkingMenuEventArgs) -> None: """ - The function called by Fusion 360 when the associated event is fired. + The function called by Fusion when the associated event is fired. eventArgs : Returns an object that provides access to additional information associated with the event. """ pass @@ -5813,14 +7603,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 +7647,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 +7672,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. @@ -5899,7 +7701,7 @@ def itemById(self, id: str) -> MaterialLibrary: return MaterialLibrary() def load(self, filename: str) -> MaterialLibrary: """ - Loads the specified existing local material library. Fusion 360 remembers which libraries have + Loads the specified existing local material library. Fusion remembers which libraries have been loaded from one session to the next so you should check to see if the local library is already loaded or not before loading it again. filename : The full filename of the .adsklib material file. @@ -5924,7 +7726,7 @@ def cast(arg) -> MaterialLibrary: return MaterialLibrary() def unload(self) -> bool: """ - Unloads this material from Fusion 360. Only non-native material libraries + Unloads this material from Fusion. Only non-native material libraries can be unloaded. You can determine this by checking the isNative property. Returns True if the library was successfully unloaded. """ @@ -5958,7 +7760,7 @@ def materials(self) -> Materials: def isNative(self) -> bool: """ Gets if this is a native material library. Native libraries are - those that are delivered with Fusion 360 and are always available. And + those that are delivered with Fusion and are always available. And non-native libraries are user created. If This returns True then there are some limitations to what can be done with the library. For example, if this is a native material library it cannot be unloaded. @@ -6012,6 +7814,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. @@ -6181,7 +7989,6 @@ def setToRotation(self, angle: float, origin: Point2D) -> bool: def determinant(self) -> float: """ Returns the determinant of the matrix. - Returns the determinant value of this matrix. """ return float() @@ -6299,7 +8106,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 +8181,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), @@ -6426,6 +8233,92 @@ def positionThree(self) -> Point3D: """ return Point3D() +class MFGDMDataEventHandler(EventHandler): + """ + The MFGDMDataEventHandler is a client implemented class that can be added as a handler to a MFGDMDataEvent. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MFGDMDataEventHandler: + return MFGDMDataEventHandler() + def notify(self, eventArgs: MFGDMDataEventArgs) -> None: + """ + The function called by Fusion when the associated event is fired. + eventArgs : Returns an object that provides access to additional information associated with the event. + """ + pass + +class Milestone(Base): + """ + An object that represents a milestone. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Milestone: + return Milestone() + @property + def name(self) -> str: + """ + Gets and sets the name of the milestone. + """ + return str() + @name.setter + def name(self, value: str): + """ + Gets and sets the name of the milestone. + """ + pass + @property + def version(self) -> DataFile: + """ + Returns the file version associated with this milestone. + """ + return DataFile() + +class Milestones(Base): + """ + Returns the milestones associated with a DataFile. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Milestones: + return Milestones() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Milestone: + return None + def __iter__(self) -> Iterator[Milestone]: + return None + def item(self, index: int) -> Milestone: + """ + Returns the specified milestone. + index : The index of the milestone to return. The first milestone in the list has an index of 0. + Returns the specified file or null if an invalid index was specified. + """ + return Milestone() + def itemByName(self, name: str) -> Milestone: + """ + Returns the milestone specified using its name.. + name : The name of the milestone to return. + Returns the Milestone object or null if a milestone with the specified name is not found. + """ + return Milestone() + def asArray(self) -> list[Milestone]: + """ + Get the current list of all milestones. + Returns the current list of all milestones. + """ + return [Milestone()] + @property + def count(self) -> int: + """ + The number of data items in this collection. + """ + return int() + class MouseEventHandler(EventHandler): """ An event handler base class that a client derives from to handle events triggered by a MouseEvent. @@ -6452,6 +8345,8 @@ def __init__(self): @staticmethod def cast(arg) -> NamedValues: return NamedValues() + def __len__(self) -> int: + return 0 @staticmethod def create() -> NamedValues: """ @@ -6494,39 +8389,187 @@ def count(self) -> int: """ return int() -class NavigationEventHandler(EventHandler): +class NamedView(Base): """ - The NavigationEventHandler is a client implemented class that can be added as a handler to a Navigation - event which is triggered by the browser within a palette. + Represents a named view as seen in the browser. """ def __init__(self): pass @staticmethod - def cast(arg) -> NavigationEventHandler: - return NavigationEventHandler() - def notify(self, eventArgs: NavigationEventArgs) -> None: + def cast(arg) -> NamedView: + return NamedView() + def deleteMe(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. + 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. """ - pass - -class NetworkPreferences(Base): - """ - The NetworkPreferences object provides access to network related preferences. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> NetworkPreferences: - return NetworkPreferences() + 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 networkProxySetting(self) -> NetworkProxySettings: + def parentProduct(self) -> Product: """ - Gets and sets the network proxy setting. + Returns the parent product of this named view. """ - return NetworkProxySettings() - @networkProxySetting.setter + 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 + event which is triggered by the browser within a palette. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> NavigationEventHandler: + return NavigationEventHandler() + def notify(self, eventArgs: NavigationEventArgs) -> None: + """ + The function called by Fusion when the associated event is fired. + eventArgs : Returns an object that provides access to additional information associated with the event. + """ + pass + +class NetworkPreferences(Base): + """ + The NetworkPreferences object provides access to network related preferences. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> NetworkPreferences: + return NetworkPreferences() + @property + def networkProxySetting(self) -> NetworkProxySettings: + """ + Gets and sets the network proxy setting. + """ + return NetworkProxySettings() + @networkProxySetting.setter def networkProxySetting(self, value: NetworkProxySettings): """ Gets and sets the network proxy setting. @@ -6566,6 +8609,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 +8622,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 +8683,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 +8704,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: """ @@ -6755,7 +8841,7 @@ def height(self, value: float): class Palette(Base): """ - A Palette is a floating or docked dialog in Fusion 360. The browser is an + A Palette is a floating or docked dialog in Fusion. The browser is an example of a built-in palette. The contents of a custom palette are created by displaying an HTML file. """ @@ -6766,25 +8852,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 @@ -6799,7 +8867,7 @@ def sendInfoToHTML(self, action: str, data: str) -> str: return str() def deleteMe(self) -> bool: """ - Deletes this palette. Fusion 360 native palettes cannot be deleted. Use the + Deletes this palette. Fusion native palettes cannot be deleted. Use the isNative property to determine if this is a native or API created palette. Returns true if the delete was successful. """ @@ -6809,11 +8877,11 @@ def setPosition(self, left: int, top: int) -> bool: Sets the position of the palette. If the palette is docked or snapped, this will result in changing it to be floating. left : The position of the left side of the palette relative to screen space and in pixels. Because palettes can be - positioned outside of the Fusion 360 window, a value of zero indicates the left side of the screen and not the - Fusion 360 window. + positioned outside of the Fusion window, a value of zero indicates the left side of the screen and not the + Fusion window. top : The position of the top of the palette relative to screen space and in pixels. Because palettes can be - positioned outside of the Fusion 360 window, a value of zero indicates the top of the screen and not the - Fusion 360 window. + positioned outside of the Fusion window, a value of zero indicates the top of the screen and not the + Fusion window. Returns true if setting the position was successful. """ return bool() @@ -6884,13 +8952,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 @@ -6928,8 +9004,8 @@ def name(self, value: str): @property def isNative(self) -> bool: """ - Indicates if this is one of the standard Fusion 360 palettes or a custom palette - created through the API. If true, it is a standard Fusion 360 palette and will + Indicates if this is one of the standard Fusion palettes or a custom palette + created through the API. If true, it is a standard Fusion palette and will have some restrictions on changing its properties and cannot be deleted. """ return bool() @@ -6989,32 +9065,32 @@ def height(self, value: int): def left(self) -> int: """ Gets and sets the left side of the palette relative to screen space and in pixels. Because palettes can be - positioned outside of the Fusion 360 window, a value of zero indicates the left side of the screen and not the - Fusion 360 window. + positioned outside of the Fusion window, a value of zero indicates the left side of the screen and not the + Fusion window. """ return int() @left.setter def left(self, value: int): """ Gets and sets the left side of the palette relative to screen space and in pixels. Because palettes can be - positioned outside of the Fusion 360 window, a value of zero indicates the left side of the screen and not the - Fusion 360 window. + positioned outside of the Fusion window, a value of zero indicates the left side of the screen and not the + Fusion window. """ pass @property def top(self) -> int: """ Gets and sets the top of the palette relative to screen space and in pixels. Because palettes can be - positioned outside of the Fusion 360 window, a value of zero indicates the top of the screen and not the - Fusion 360 window. + positioned outside of the Fusion window, a value of zero indicates the top of the screen and not the + Fusion window. """ return int() @top.setter def top(self, value: int): """ Gets and sets the top of the palette relative to screen space and in pixels. Because palettes can be - positioned outside of the Fusion 360 window, a value of zero indicates the top of the screen and not the - Fusion 360 window. + positioned outside of the Fusion window, a value of zero indicates the top of the screen and not the + Fusion window. """ pass @property @@ -7024,6 +9100,12 @@ def navigatingURL(self) -> NavigationEvent: how this navigation should be handled by the browser. """ return NavigationEvent() + @property + def isTransparent(self) -> bool: + """ + Returns if this palette was created as a transparent palette. + """ + return bool() class Palettes(Base): """ @@ -7034,7 +9116,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 +9145,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 +9164,41 @@ 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() + def addTransparent(self, id: str, name: str, htmlFileURL: str, isVisible: bool, showCloseButton: bool, isResizable: bool, isOpaqueWhenUndocked: bool = False, width: int = 200, height: int = 200) -> Palette: + """ + Creates a new transparent 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 on the web. + 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. + isOpaqueWhenUndocked : Specifies if the palette will be transparent when docked and opaque when undocked. + 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: """ @@ -7083,7 +9208,7 @@ def count(self) -> int: class PersonalUseLimits(Base): """ - Object that provides information about file limits associated with a "Fusion 360 for Personal Use license". + Object that provides information about file limits associated with a "Fusion for Personal Use license". """ def __init__(self): pass @@ -7122,7 +9247,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 +9379,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,11 +9578,17 @@ 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): """ The base class for the various product specific containers. For - Fusion 360 this is the Design object. For manufacturing this is a CAM object. + Fusion this is the Design object. For manufacturing this is a CAM object. """ def __init__(self): pass @@ -7530,6 +9661,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 +9704,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 +9721,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 +9740,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 +9782,168 @@ 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 + +class ProgressBar(Base): + """ + Provides access to the progress bar. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ProgressBar: + return ProgressBar() + def show(self, message: str, minimumValue: int, maximumValue: int, isModal: bool = False) -> bool: + """ + This method displays a message in the progress bar in the lower-right corner of the Fusion window. + The progress bar can be used to display a continually updated message indicating the progress of a process. + The progress is determined by comparing the current progress value with the minimum and maximum values. + message : Specifies the message that will be displayed in the progress bar. The following symbols can be used to + display values. "%p" is replaced by the percentage completed. "%v" is replaced by the current value. + "%m" is replaced by the total number of steps. For example, the message "Processing section %v of %m." + will result in the message "Processing section 1 of 10." to be displayed if the maximum value is 10 + and the current value is 1. + + An empty string can be specified if you don't want a message and use only the progress meter. + minimumValue : Specifies the minimum value of the progress. This value and the maximum and progress values to compute + the current percentage complete. This is the initial progress value when the progress bar is first displayed. + maximumValue : Specifies the maximum value of the progress. This value and the minimum and progress values are + used to compute the current percentage completion. + isModal : Specifies if the progress bar should be modal or not. If modal, the progress bar takes over the UI of + Fusion, and the user cannot interact with any of the Fusion user interface. You need to be careful when + using a modal dialog to make sure you hide the progress bar when you're finished or have an error + condition that causes you to abort because otherwise, the user will need to kill the Fusion process. + Returns true if successful. + """ + return bool() + def showBusy(self, message: str, isModal: bool = False) -> bool: + """ + This method displays a message in the busy bar in the lower-right corner of the Fusion window. + The busy bar can be used to display a continually updated message indicating the progress of a process. + The busy bar is different from the progress bar, because it does not show a meter indicating the current + progress. Instead is shows a continually moving bar to indicate processing without showing the current + progress. This is useful in cases where the length of the process is unknown. + message : Specifies the message that will be displayed in the busy bar. An empty string can be specified if + you don't want a message and use only the busy meter. + isModal : Specifies if the busy bar should be modal or not. If modal, the busy bar takes over the UI of + Fusion, and the user cannot interact with any of the Fusion user interface. You need to be careful when + using a modal dialog to make sure you hide the busy bar when you're finished or have an error + condition that causes you to abort because otherwise, the user will need to kill the Fusion process. + Returns true if successful. + """ + return bool() + def hide(self) -> bool: + """ + Hides the progress or busy bar. This should be used when the process has completed. + Returns true if successful. + """ + return bool() + @property + def progressValue(self) -> int: + """ + Gets and sets the current progress value. This value determines the progress based on this value relative to + the minimum and maximum values specified when the progress bar was created. This will also update the values displayed + in the message string. + + If your process is running in the main thread of Fusion, you will need to call adsk.doEvents + to give control back to Fusion, so it can update the UI. + + This value is ignored when a busy bar is displayed. + """ + return int() + @progressValue.setter + def progressValue(self, value: int): + """ + Gets and sets the current progress value. This value determines the progress based on this value relative to + the minimum and maximum values specified when the progress bar was created. This will also update the values displayed + in the message string. + + If your process is running in the main thread of Fusion, you will need to call adsk.doEvents + to give control back to Fusion, so it can update the UI. + + This value is ignored when a busy bar is displayed. + """ + pass + @property + def message(self) -> str: + """ + Gets and sets the message to display in the progress bar. The following symbols can be used + to display values. "%p" is replaced by the percentage completed. "%v" is replaced + by the current value. %m is replaced by the total number of steps. For example, the + message "Processing section %v of %m." will result in the message "Processing section + 1 of 10." to be displayed if the maximum value is 10 and the current value is 1. + + When a busy bar is displayed, only a simple message is supported and symbols are not supported. + + If your process is running in the main thread of Fusion, you will need to call adsk.doEvents + to give control back to Fusion, so it can update the UI. + """ + return str() + @message.setter + def message(self, value: str): + """ + Gets and sets the message to display in the progress bar. The following symbols can be used + to display values. "%p" is replaced by the percentage completed. "%v" is replaced + by the current value. %m is replaced by the total number of steps. For example, the + message "Processing section %v of %m." will result in the message "Processing section + 1 of 10." to be displayed if the maximum value is 10 and the current value is 1. + + When a busy bar is displayed, only a simple message is supported and symbols are not supported. + + If your process is running in the main thread of Fusion, you will need to call adsk.doEvents + to give control back to Fusion, so it can update the UI. """ pass @@ -7654,7 +9956,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 +10129,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. @@ -7886,50 +10194,167 @@ def id(self) -> str: @property def parent(self) -> Base: """ - Returns the parent of this property. + Returns the parent of this property.For properties associated with an appearance this + will return the parent Appearance. For properties associated with a material, this + will return the parent Material. For other types of properties, this will return the + PropertyGroup it is in. """ return Base() -class RadialMarkingMenu(Base): +class PropertyGroup(Base): """ - Represents the marking menu which is the round menu that's displayed when the user right-clicks - within Fusion 360. This supports customizing the contents of the marking menu. + Represents a group of properties and provides access to the properties. """ def __init__(self): pass @staticmethod - def cast(arg) -> RadialMarkingMenu: - return RadialMarkingMenu() - def create(self, text: str) -> RadialMarkingMenu: + def cast(arg) -> PropertyGroup: + return PropertyGroup() + 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: """ - This is used to create a sub-menu in a marking menu. This method creates a new, - empty marking menu which can then be assigned to a position in the displayed - marking menu to define the sub-menu. - text : The text that will be displayed in the parent menu to access this menu. - Returns the newly created marking menu or null in the case of a failure. + Returns the specified property from the group using an index into the group. + index : The index of the property within the group where the first item is 0. + Returns the specified group or null if an invalid index was specified. """ - return RadialMarkingMenu() - def clear(self) -> bool: + return Property() + def itemById(self, id: str) -> Property: """ - Completely clears the contents of the marking menu. If left in this state, the - marking menu will not be displayed. - Returns true if the clear was successful. + Returns the specified property from the group using the unique ID of the property. + The ID is consistent and can't be modified by the user and isn't affected by localization. + id : The unique ID of the property. + Returns the specified Property or null if the ID doesn't match a property within the collection. """ - return bool() + return Property() + def itemByName(self, name: str) -> Property: + """ + Returns the specified Property using the name of the property. + name : The name of the property to return. This is the name as seen in the user interface and may be localized. + Returns the specified property or null if the name doesn't match a property within the group. + """ + return Property() @property - def text(self) -> str: + def name(self) -> str: """ - Gets and sets the text that is displayed in the parent marking menu to access a - sub marking menu. This property is not used for the main marking menu and will - return an empty string and setting it will have no effect. + Returns the name of this group as seen in the user interface. This name is localized + and can change based on the current language """ return str() - @text.setter - def text(self, value: str): + @name.setter + def name(self, value: str): """ - Gets and sets the text that is displayed in the parent marking menu to access a - sub marking menu. This property is not used for the main marking menu and will - return an empty string and setting it will have no effect. + Returns the name of this group as seen in the user interface. This name is localized + and can change based on the current language + """ + pass + @property + def id(self) -> str: + """ + Returns the unique ID of this property. + """ + return str() + @property + def parent(self) -> Base: + """ + Returns the parent of this group. Typically this will be a Component. + """ + return Base() + @property + def count(self) -> int: + """ + Returns the number of properties within the group. + """ + return int() + +class PropertyGroups(Base): + """ + A collection of PropertyGroup objects. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> PropertyGroups: + return PropertyGroups() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> PropertyGroup: + return None + def __iter__(self) -> Iterator[PropertyGroup]: + return None + def item(self, index: int) -> PropertyGroup: + """ + Returns the specified property group from the collection using an index into the collection. + index : The index of the property within the collection where the first item is 0. + Returns the specified item or null if an invalid index was specified. + """ + return PropertyGroup() + def itemById(self, id: str) -> PropertyGroup: + """ + Returns the specified property group from the collection using the unique ID of the property group. + The ID is consistent and can't be modified by the user and isn't affected by localization. + id : The unique ID of the property group. + Returns the specified PropertyGroup or null if the ID doesn't match a group within the collection. + """ + return PropertyGroup() + def itemByName(self, name: str) -> PropertyGroup: + """ + Returns the specified PropertyGroup using the name of the group. + name : The name of the group to return. This is the name as seen in the user interface. Not all groups have a name. + Returns the specified group or null if the name doesn't match a group within the collection. + """ + return PropertyGroup() + @property + def count(self) -> int: + """ + Returns the number of properties within the collection. + """ + return int() + +class RadialMarkingMenu(Base): + """ + Represents the marking menu which is the round menu that's displayed when the user right-clicks + within Fusion. This supports customizing the contents of the marking menu. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> RadialMarkingMenu: + return RadialMarkingMenu() + def create(self, text: str) -> RadialMarkingMenu: + """ + This is used to create a sub-menu in a marking menu. This method creates a new, + empty marking menu which can then be assigned to a position in the displayed + marking menu to define the sub-menu. + text : The text that will be displayed in the parent menu to access this menu. + Returns the newly created marking menu or null in the case of a failure. + """ + return RadialMarkingMenu() + def clear(self) -> bool: + """ + Completely clears the contents of the marking menu. If left in this state, the + marking menu will not be displayed. + Returns true if the clear was successful. + """ + return bool() + @property + def text(self) -> str: + """ + Gets and sets the text that is displayed in the parent marking menu to access a + sub marking menu. This property is not used for the main marking menu and will + return an empty string and setting it will have no effect. + """ + return str() + @text.setter + def text(self, value: str): + """ + Gets and sets the text that is displayed in the parent marking menu to access a + sub marking menu. This property is not used for the main marking menu and will + return an empty string and setting it will have no effect. """ pass @property @@ -8109,2594 +10534,4726 @@ 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() + def cast(arg) -> SaveImageFileOptions: + return SaveImageFileOptions() + @staticmethod + def create(filename: str) -> SaveImageFileOptions: + """ + 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 SaveImageFileOptions() @property - def entity(self) -> Base: + def filename(self) -> str: """ - Gets the selected entity. + 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 Base() + return str() + @filename.setter + def filename(self, value: str): + """ + 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 @property - def point(self) -> Point3D: + def height(self) -> int: """ - Gets the selection point on the object. + 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 int() + @height.setter + def height(self, value: int): + """ + 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 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: + @property + def width(self) -> int: """ - 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 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 int() + @width.setter + def width(self, value: int): + """ + 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. + """ + pass + @property + def isBackgroundTransparent(self) -> bool: + """ + 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() + @isBackgroundTransparent.setter + def isBackgroundTransparent(self, value: bool): + """ + 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. + """ + pass + @property + def isAntiAliased(self) -> bool: + """ + 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 bool() + @isAntiAliased.setter + def isAntiAliased(self, value: bool): + """ + 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 Selections(Base): +class Script(Base): """ - Provides access to and control over the set of selected entities in the user interface. + Object that represents a script or add-in. """ def __init__(self): pass @staticmethod - def cast(arg) -> Selections: - return Selections() - def item(self, index: int) -> Selection: + def cast(arg) -> Script: + return Script() + def stop(self) -> bool: """ - 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. + 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 Selection() - def add(self, entity: Base) -> bool: + return bool() + def run(self, waitForFinish: bool = False) -> bool: """ - 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. + 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() - def clear(self) -> bool: + def edit(self) -> bool: """ - Clears the selection set so no entities are currently selected. + Invokes the default edit behavior for this script or add-in. Returns true if successful. """ return bool() - def removeBySelection(self, selection: Selection) -> bool: + def unlink(self) -> bool: """ - 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. + Unlinks this script or add-in. This removes it from Fusion's list of linked scripts and add-ins, so + it is no longer displayed in the dialog, and if it's an add-in, it will no longer run on startup. + + This is only valid for a script or add-in that is linked; the sourceLocation property returns LinkedScriptSourceLocation. + Returns true if the unlink was successful. """ return bool() - def removeByEntity(self, entity: Base) -> bool: + @property + def name(self) -> str: """ - 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 the name of this script or add-in. """ - return bool() - def removeByIndex(self, index: int) -> bool: + return str() + @property + def id(self) -> str: """ - 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 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 bool() - def asArray(self) -> list[Selection]: + return str() + @property + def folder(self) -> str: """ - 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. + Gets the full path of the folder that contains this script or add-in. """ - return [Selection()] + return str() @property - def count(self) -> int: + def description(self) -> str: """ - Gets the number of entities currently selected. + Gets the description of this script or add-in. """ - return int() + return str() @property - def all(self) -> ObjectCollection: + def author(self) -> str: """ - Gets or sets all entities currently selected. + Returns the author information associated with this script or add-in. """ - return ObjectCollection() - @all.setter - def all(self, value: ObjectCollection): + return str() + @property + def version(self) -> str: """ - Gets or sets all entities currently selected. + Returns the version information associated with this script or add-in. """ - pass - -class Status(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. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> Status: - return Status() + return str() @property - def isError(self) -> bool: + def isAddIn(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. + Gets if this Script object represents a script or an add-in. Returns + true if it is an add-in. """ return bool() @property - def isWarning(self) -> bool: + def isRunOnStartup(self) -> bool: """ - If true, the operation has succeeded but with an unusual result. - This takes into account all of the child status messages. + Gets and sets whether this add-in will automatically run when + Fusion is started. This property is only valid when the isAddIn + property returns true. """ return bool() + @isRunOnStartup.setter + def isRunOnStartup(self, value: bool): + """ + Gets and sets whether this add-in will automatically run when + Fusion is started. This property is only valid when the isAddIn + property returns true. + """ + pass @property - def isOK(self) -> bool: + def isRunning(self) -> bool: """ - If true, the operation was successful without any warnings or errors. - This takes into account all of the child status messages. + Gets if this script or add-in is currently running. """ return bool() @property - def statusMessages(self) -> StatusMessages: + def isVisible(self) -> bool: """ - 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 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 StatusMessages() - -class StatusMessage(Base): - """ - Defines the message associated with a Status object. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> StatusMessage: - return StatusMessage() @property - def messageId(self) -> str: + def programmingLanguage(self) -> ProgrammingLanguages: """ - Gets and sets the ID of the message being used. This is a predefined ID within the Fusion message - string table. + Returns the programming language this script or add-in is written in. """ - return str() - @messageId.setter - def messageId(self, value: str): + return ProgrammingLanguages() + @property + def targetOperatingSystem(self) -> OperatingSystems: """ - Gets and sets the ID of the message being used. This is a predefined ID within the Fusion message - string table. + Returns the operating systems this script or add-in is available for. """ - pass + return OperatingSystems() @property - def message(self) -> str: + def isInternal(self) -> bool: """ - The user visible message being used. Setting this message for custom feature errors or warnings is - currently ignored. + 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 str() - @message.setter - def message(self, value: str): + return bool() + @property + def isEditable(self) -> bool: """ - The user visible message being used. Setting this message for custom feature errors or warnings is - currently ignored. + Indicates if this script or add-in is blocked from being edited by the user in the + "Scripts and Add-Ins" dialog. """ - pass + return bool() @property - def statusMessageType(self) -> StatusMessageTypes: + def manifestContent(self) -> str: """ - Returns the type of message this StatusMessage represents. + 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 StatusMessageTypes() + return str() @property - def childStatusMessages(self) -> StatusMessages: + def isFavorite(self) -> bool: """ - Returns the collection of status codes that are children of - this status message. + Gets and sets whether this script or add-in is a favorite of the user. + """ + return bool() + @isFavorite.setter + def isFavorite(self, value: bool): + """ + Gets and sets whether this script or add-in is a favorite of the user. """ - 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: + @property + def location(self) -> ScriptSourceLocations: """ - 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 which standard location this script is located. """ - return StatusMessage() - def addError(self, messageId: str, message: str) -> StatusMessage: + return ScriptSourceLocations() + @property + def iconFilename(self) -> str: """ - 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. + Returns the filename of the image file that can be used as the icon for + this script or add-in. This filename is defined in the manifest of the + script or add-in using the "iconFilename" setting. """ - return StatusMessage() - def addWarning(self, messageId: str, message: str) -> StatusMessage: + return str() + @property + def appStoreURL(self) -> str: """ - 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. + For an add-in installed from the Autodesk App Store, this property returns + the URL on the store for the page of this app. This property returns an empty + string for all scripts and add-ins not installed from the App Store and if + there is a problem determining the URL for an App Store app. """ - return StatusMessage() + return str() @property - def count(self) -> int: + def helpFilename(self) -> str: """ - Returns the number of status messages in this collection. + Returns the filename of a local html file that serves as the help file + for this script or add-in. This filename is defined in the manifest of the + script or add-in using the "helpFilename" setting. """ - return int() + return str() -class Surface(Base): +class ScriptInput(Base): """ - Describes a two-dimensional topological, manifold in three-dimensional space. - It is used as the underlying geometry for a BRepFace. + 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) -> Surface: - return Surface() - def transformBy(self, matrix: Matrix3D) -> bool: + def cast(arg) -> ScriptInput: + return ScriptInput() + @property + def isAddIn(self) -> bool: """ - 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. + Specifies if a script or add-in is to be created. A value of true + indicates an add-in will be created. """ return bool() - @property - def surfaceType(self) -> SurfaceTypes: + @isAddIn.setter + def isAddIn(self, value: bool): """ - Returns the surface type. + Specifies if a script or add-in is to be created. A value of true + indicates an add-in will be created. """ - return SurfaceTypes() + pass @property - def evaluator(self) -> SurfaceEvaluator: + def programmingLanguage(self) -> ProgrammingLanguages: """ - Returns the surface evaluator. + Gets and sets which programming language the new script or add-in will use. + """ + return ProgrammingLanguages() + @programmingLanguage.setter + def programmingLanguage(self, value: ProgrammingLanguages): + """ + Gets and sets which programming language the new script or add-in will use. """ - return SurfaceEvaluator() - -class SurfaceEvaluator(Base): - """ - 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) -> SurfaceEvaluator: - return SurfaceEvaluator() - def getModelCurveFromParametricCurve(self, parametricCurve: Curve2D) -> ObjectCollection: + @property + def name(self) -> str: """ - 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. + 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 ObjectCollection() - def getIsoCurve(self, parameter: float, isUDirection: bool) -> ObjectCollection: + return str() + @name.setter + def name(self, value: str): """ - 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. + 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 ObjectCollection() - def getCurvatures(self, parameters: list[Point2D]) -> tuple[bool, list[Vector3D], list[float], list[float]]: + pass + @property + def description(self) -> str: """ - 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. + The description of the add-in that is displayed in the "Scripts and Add-Ins" + dialog. This defaults to an empty string. """ - return (bool(), [Vector3D()], [float()], [float()]) - def getCurvature(self, parameter: Point2D) -> tuple[bool, Vector3D, float, float]: + return str() + @description.setter + def description(self, value: str): """ - 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. + The description of the add-in that is displayed in the "Scripts and Add-Ins" + dialog. This defaults to an empty string. """ - return (bool(), Vector3D(), float(), float()) - def getNormalsAtParameters(self, parameters: list[Point2D]) -> tuple[bool, list[Vector3D]]: + pass + @property + def author(self) -> str: """ - 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. + The author of the add-in that is displayed in the "Scripts and Add-Ins" + dialog. This defaults to an empty string. """ - return (bool(), [Vector3D()]) - def getNormalAtParameter(self, parameter: Point2D) -> tuple[bool, Vector3D]: + return str() + @author.setter + def author(self, value: str): """ - 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. + The author of the add-in that is displayed in the "Scripts and Add-Ins" + dialog. This defaults to an empty string. """ - return (bool(), Vector3D()) - def getNormalsAtPoints(self, points: list[Point3D]) -> tuple[bool, list[Vector3D]]: + pass + @property + def version(self) -> str: """ - 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. + 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()]) - def getNormalAtPoint(self, point: Point3D) -> tuple[bool, Vector3D]: + return str() + @version.setter + def version(self, value: 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. + 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()) - def getParametersAtPoints(self, points: list[Point3D]) -> tuple[bool, list[Point2D]]: + pass + @property + def targetOperatingSystem(self) -> OperatingSystems: """ - 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. + 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(), [Point2D()]) - def getParameterAtPoint(self, point: Point3D) -> tuple[bool, Point2D]: + return OperatingSystems() + @targetOperatingSystem.setter + def targetOperatingSystem(self, value: OperatingSystems): """ - 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. + 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(), Point2D()) - def getPointsAtParameters(self, parameters: list[Point2D]) -> tuple[bool, list[Point3D]]: + pass + @property + def targetFolder(self) -> 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 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(), [Point3D()]) - def getPointAtParameter(self, parameter: Point2D) -> tuple[bool, Point3D]: + return str() + @targetFolder.setter + def targetFolder(self, value: 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. - """ - 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. + 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: - """ - 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. - """ - 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() + pass @property - def isClosedInV(self) -> bool: + def runOnStartup(self) -> bool: """ - Indicates if the surface is closed (forms a loop) in the V 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 area(self) -> float: + @runOnStartup.setter + def runOnStartup(self, value: bool): """ - 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. + 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 float() + pass -class Toolbar(Base): +class Scripts(Base): """ - Provides access to a toolbar in the user interface. A toolbar is a collection of toolbar controls. + API object that provides equivalent functionality of the "Scripts and Add-Ins" dialog. + Provides access to the scripts and add-ins that Fusion 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) -> 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: + 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: """ - Gets the owning UserInterface object. + 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 UserInterface() + 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() + def itemsByName(self, name: str) -> list[Script]: + """ + Function that returns an array of scripts that have the specified name. In most cases this will + return an array containing a single script, but it's possible to have more than one script + with the same name in the case where the scripts are in different folders. + name : The script name to search for. + Returns the scripts with the specified name or an empty array if there aren't any scripts with that name. + """ + return [Script()] + def itemByPath(self, folderPath: str) -> Script: + """ + Function that returns the script that is located in the specified folder. + folderPath : The full path to the folder that contains the script. This does not include the name of the script, + but only the path. For example "C:\Scripts\MyScript" is valid where "C:\Scripts\MyScripts\MyScript.py" + is not. + Returns the specified script or null if there isn't a script at the specified path. + """ + return Script() @property - def controls(self) -> ToolbarControls: + def count(self) -> int: """ - Gets the controls in this toolbar. + Returns the number of scripts and add-ins. """ - return ToolbarControls() + return int() -class ToolbarControl(Base): +class Selection(Base): """ - The base class for all toolbar controls. + Provides access to a selection of an entity in the user interface. """ 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() + def cast(arg) -> Selection: + return Selection() @property - def isVisible(self) -> bool: - """ - Gets or sets if this control is currently visible. - """ - return bool() - @isVisible.setter - def isVisible(self, value: bool): + def entity(self) -> Base: """ - Gets or sets if this control is currently visible. + Gets the selected entity. """ - pass + return Base() @property - def parent(self) -> Base: + def point(self) -> Point3D: """ - 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. + Gets the selection point on the object. """ - return Base() + return Point3D() -class ToolbarControlList(Base): +class SelectionEventHandler(EventHandler): """ - Provides access to a list of 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) -> ToolbarControlList: - return ToolbarControlList() - 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: + def cast(arg) -> SelectionEventHandler: + return SelectionEventHandler() + def notify(self, eventArgs: SelectionEventArgs) -> None: """ - Gets the number of toolbar controls. + 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 int() + pass -class ToolbarControls(Base): +class SelectionFilters(Base): """ - ToolbarControls is a collection of ToolbarControl objects displayed in a toolbar or menu. + Provides access to the various filter settings for selections. """ 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. - """ - 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) -> 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) -> 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) -> 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) -> 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() + def cast(arg) -> SelectionFilters: + return SelectionFilters() + 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" + Texts = "Texts" + ConstructionPoints = "ConstructionPoints" + ConstructionLines = "ConstructionLines" + ConstructionPlanes = "ConstructionPlanes" + Features = "Features" + Canvases = "Canvases" + Decals = "Decals" + JointOrigins = "JointOrigins" + Joints = "Joints" + SketchConstraints = "SketchConstraints" + Profiles = "Profiles" + CustomGraphics = "CustomGraphics" + FaceGroups = "FaceGroups" + VolumetricModel = "VolumetricModel" -class ToolbarPanel(Base): +class Selections(Base): """ - Toolbar panels are the panels shown in the command toolbar. + Provides access to and control over the set of selected entities in the user interface. """ def __init__(self): pass @staticmethod - def cast(arg) -> ToolbarPanel: - return ToolbarPanel() - def deleteMe(self) -> bool: + 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: """ - Deletes this toolbar panel. - Returns true if the delete was successful. + 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 Selection() + def add(self, entity: Base) -> bool: + """ + 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 indexWithinTab(self, tabId: str) -> int: + def clear(self) -> bool: """ - 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. + Clears the selection set so no entities are currently selected. + Returns true if successful. """ - return int() - @property - def id(self) -> str: + return bool() + def removeBySelection(self, selection: Selection) -> bool: """ - Gets The unique, language independent, ID of this panel. + 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. """ - return str() - @property - def index(self) -> int: + return bool() + def removeByEntity(self, entity: Base) -> bool: """ - 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. + 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 int() - @property - def isVisible(self) -> bool: + return bool() + def removeByIndex(self, index: int) -> 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. + 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 bool() - @property - def name(self) -> str: + def asArray(self) -> list[Selection]: """ - Gets the name of the panel as seen in the user interface. + 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 str() + return [Selection()] @property - def controls(self) -> ToolbarControls: + def count(self) -> int: """ - 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. + Gets the number of entities currently selected. """ - return ToolbarControls() + return int() @property - def parentUserInterface(self) -> UserInterface: + def all(self) -> ObjectCollection: """ - Gets the parent UserInterface object. + Gets or sets all entities currently selected. """ - return UserInterface() - @property - def promotedControls(self) -> ToolbarControlList: + return ObjectCollection() + @all.setter + def all(self, value: ObjectCollection): """ - Gets the controls in the panel that have been promoted. Promoted - controls are the controls that are displayed within the panel. + Gets or sets all entities currently selected. """ - return ToolbarControlList() + pass + +class SelectionSet(Base): + """ + 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) -> SelectionSet: + return SelectionSet() + def select(self) -> bool: + """ + Causes the entities in this SelectionSet object to be the active selection. + Returns true if the selection was successful. + """ + return bool() + def deleteMe(self) -> bool: + """ + Deletes this SelectionSet object. + Returns true if the deletion was successful. + """ + return bool() @property - def relatedWorkspaces(self) -> ObjectCollection: + def name(self) -> str: """ - Gets or sets the set of workspaces that this panel is displayed for. + 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 ObjectCollection() - @relatedWorkspaces.setter - def relatedWorkspaces(self, value: ObjectCollection): + return str() + @name.setter + def name(self, value: str): """ - Gets or sets the set of workspaces that this panel is displayed for. + 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. """ pass @property - def productType(self) -> str: + def entities(self) -> list[Base]: """ - Returns the name of the product this toolbar panel is associated with. + 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 str() + return [Base()] + @entities.setter + def entities(self, value: list[Base]): + """ + 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. + """ + pass -class ToolbarPanelList(Base): +class SelectionSets(Base): """ - A ToolbarPanelList is a list of ToolbarPanel objects. + 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) -> ToolbarPanelList: - return ToolbarPanelList() - def item(self, index: int) -> ToolbarPanel: + 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: """ - 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. + 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 ToolbarPanel() - def itemById(self, id: str) -> ToolbarPanel: + return SelectionSet() + def itemByName(self, name: str) -> SelectionSet: """ - 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 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 ToolbarPanel() + return SelectionSet() + def add(self, entities: list[Base], name: str = "") -> SelectionSet: + """ + 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 SelectionSet() @property def count(self) -> int: """ - Gets the number of toolbar panels in the collection. + Returns the number of SelectionSet objects in the collection. """ return int() -class ToolbarPanels(Base): +class SharedLink(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. + Provides access to the URL that can be used to share this DataFile with others. This object + also provides access to the various settings that control the link's behavior. """ 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) -> SharedLink: + return SharedLink() + def setPassword(self, password: str) -> bool: """ - 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. + Sets the password to access the web page to view the file. Setting a password makes + using the password required to access the page. The password takes effect immediately + for anyone using the URL. To turn off the password requirement, set the isPasswordRequired + property to false. + password : The password to use. + Returns true if setting the password was successful. """ - return ToolbarPanel() - def item(self, index: int) -> ToolbarPanel: + return bool() + @property + def isShared(self) -> bool: """ - 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. + Gets and sets if a shared link should be made available for this DataFile. This property + defaults to false for a new DataFile. Setting it to true will allow the URL for the file + to be obtained. Setting it to false will restrict access to the URL and block access for + anyone currently using it. In other words, this is a dynamic setting and doesn't just + control getting the link URL. """ - return ToolbarPanel() - def itemById(self, id: str) -> ToolbarPanel: + return bool() + @isShared.setter + def isShared(self, value: bool): """ - 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. + Gets and sets if a shared link should be made available for this DataFile. This property + defaults to false for a new DataFile. Setting it to true will allow the URL for the file + to be obtained. Setting it to false will restrict access to the URL and block access for + anyone currently using it. In other words, this is a dynamic setting and doesn't just + control getting the link URL. """ - return ToolbarPanel() + pass @property - def count(self) -> int: + def linkURL(self) -> str: """ - Gets the number of ToolbarPanels. + Returns the URL of the shared link. Returns an empty string in the case where isShared + is False. """ - 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 item(self, index: int) -> Toolbar: + return str() + @property + def isDownloadAllowed(self) -> 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. + Specifies if the user with the shared link can download the file or only view it. + Changing this setting changes the behavior of the existing link. When a DataFile + is shared, and a link is created, this defaults to true, allowing anyone with the + link to download the file. """ - return Toolbar() - def itemById(self, id: str) -> Toolbar: + return bool() + @isDownloadAllowed.setter + def isDownloadAllowed(self, value: bool): """ - 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. + Specifies if the user with the shared link can download the file or only view it. + Changing this setting changes the behavior of the existing link. When a DataFile + is shared, and a link is created, this defaults to true, allowing anyone with the + link to download the file. """ - return Toolbar() + pass @property - def count(self) -> int: + def isPasswordRequired(self) -> bool: """ - Gets the number of Toolbar objects in the collection. + Gets if a password is required to access the file's web page using the link URL. This + property can be set to false to turn off the password requirement. It cannot be set + to true. To enable a password, use the setPassword method, which sets the password + and has the side effect of setting this property to true. """ - return int() + return bool() + @isPasswordRequired.setter + def isPasswordRequired(self, value: bool): + """ + Gets if a password is required to access the file's web page using the link URL. This + property can be set to false to turn off the password requirement. It cannot be set + to true. To enable a password, use the setPassword method, which sets the password + and has the side effect of setting this property to true. + """ + pass -class ToolbarTab(Base): +class Status(Base): """ - Toolbar tabs are the tabs shown in the command toolbar. + 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) -> 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 cast(arg) -> Status: + return Status() + @property + def isError(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. + 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 id(self) -> str: + def isWarning(self) -> bool: """ - Gets The unique, language independent, ID of this tab. + If true, the operation has succeeded but with an unusual result. + This takes into account all of the child status messages. """ - return str() + return bool() @property - def index(self) -> int: + def isOK(self) -> bool: """ - 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. + If true, the operation was successful without any warnings or errors. + This takes into account all of the child status messages. """ - return int() + return bool() @property - def isVisible(self) -> bool: + def statusMessages(self) -> StatusMessages: """ - Gets whether this tab is currently being displayed in the user interface. + 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 bool() + return StatusMessages() + +class StatusMessage(Base): + """ + Defines the message associated with a Status object. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> StatusMessage: + return StatusMessage() @property - def name(self) -> str: + def messageId(self) -> str: """ - Gets the name of the tab as seen in the user interface. + Gets and sets the ID of the message being used. This is a predefined ID within the Fusion message + string table. """ return str() - @property - def toolbarPanels(self) -> ToolbarPanels: + @messageId.setter + def messageId(self, value: str): """ - Gets the collection containing the panels associated with this tab. - It's through this collection that you can add new toolbar panels. + Gets and sets the ID of the message being used. This is a predefined ID within the Fusion message + string table. """ - return ToolbarPanels() + pass @property - def parentUserInterface(self) -> UserInterface: + def message(self) -> str: """ - Gets the parent UserInterface object. + The user visible message being used. Setting this message for custom feature errors or warnings is + currently ignored. """ - return UserInterface() - @property - def productType(self) -> str: + return str() + @message.setter + def message(self, value: str): """ - Returns the name of the product this toolbar tab is associated with. + The user visible message being used. Setting this message for custom feature errors or warnings is + currently ignored. """ - return str() + pass @property - def isActive(self) -> bool: + def statusMessageType(self) -> StatusMessageTypes: """ - Gets if this toolbar tab is currently active - i.e. displayed. + Returns the type of message this StatusMessage represents. """ - return bool() + return StatusMessageTypes() @property - def isNative(self) -> bool: + def childStatusMessages(self) -> StatusMessages: """ - Gets if this tab is native to Fusion 360 or was created via the API. + Returns the collection of status codes that are children of + this status message. """ - return bool() + return StatusMessages() -class ToolbarTabList(Base): +class StatusMessages(Base): """ - A ToolbarTabList is a list of ToolbarTab objects. + 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) -> ToolbarTabList: - return ToolbarTabList() - def item(self, index: int) -> ToolbarTab: + 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: """ - 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 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 ToolbarTab() - def itemById(self, id: str) -> ToolbarTab: + return StatusMessage() + def addError(self, messageId: str = "", message: str = "") -> StatusMessage: """ - 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. + 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 ToolbarTab() + return StatusMessage() + def addWarning(self, messageId: str = "", message: str = "") -> StatusMessage: + """ + 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 StatusMessage() @property def count(self) -> int: """ - Gets the number of toolbar tabs in the collection. + Returns the number of status messages in this collection. """ return int() -class ToolbarTabs(Base): +class Surface(Base): """ - Provides access to a set of toolbar tabs. + 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) -> ToolbarTabs: - return ToolbarTabs() - def item(self, index: int) -> ToolbarTab: + def cast(arg) -> Surface: + return Surface() + def transformBy(self, matrix: Matrix3D) -> bool: """ - 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. + 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 ToolbarTab() - def add(self, id: str, name: str) -> ToolbarTab: + return bool() + @property + def surfaceType(self) -> SurfaceTypes: """ - 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. + Returns the surface type. """ - return ToolbarTab() + return SurfaceTypes() @property - def count(self) -> int: + def evaluator(self) -> SurfaceEvaluator: """ - Gets the number of ToolbarTabs. + Returns the surface evaluator. """ - return int() + return SurfaceEvaluator() -class UnitAndValuePreferences(Base): +class SurfaceEvaluator(Base): """ - The UnitAndValuePreferences object provides access to unit and value precision - related preferences. + 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) -> UnitAndValuePreferences: - return UnitAndValuePreferences() - @property - def generalPrecision(self) -> int: + def cast(arg) -> SurfaceEvaluator: + return SurfaceEvaluator() + def getModelCurveFromParametricCurve(self, parametricCurve: Curve2D) -> ObjectCollection: """ - Gets and sets the general precision for distance values. This - value specifies the number of decimals to display. + 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 int() - @generalPrecision.setter - def generalPrecision(self, value: int): + return ObjectCollection() + def getIsoCurve(self, parameter: float, isUDirection: bool) -> ObjectCollection: """ - Gets and sets the general precision for distance values. This - value specifies the number of decimals to display. + 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. + + Getting an iso curve is limited to a SurfaceEvaluator that is obtained from a BRepFace. It will + fail when the SurfaceEvaluator is obtained from a geometry object (Plane, Sphere, Torus, + Cylinder, Cone, EllipticalCone, EllipticalCylinder, or NurbsSurface). + 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. """ - pass - @property - def angularPrecision(self) -> int: + return ObjectCollection() + def getCurvatures(self, parameters: list[Point2D]) -> tuple[bool, list[Vector3D], list[float], list[float]]: """ - Gets and sets the angular precision. This - value specifies the number of decimals to display. + 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 int() - @angularPrecision.setter - def angularPrecision(self, value: int): + return (bool(), [Vector3D()], [float()], [float()]) + def getCurvature(self, parameter: Point2D) -> tuple[bool, Vector3D, float, float]: """ - Gets and sets the angular precision. This - value specifies the number of decimals to display. + 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. """ - pass - @property - def scientificNotationPrecision(self) -> int: + return (bool(), Vector3D(), float(), float()) + def getNormalsAtParameters(self, parameters: list[Point2D]) -> tuple[bool, list[Vector3D]]: """ - Gets and sets the number scientific notation precision. This - value specifies the number of decimals to display. + 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 int() - @scientificNotationPrecision.setter - def scientificNotationPrecision(self, value: int): + return (bool(), [Vector3D()]) + def getNormalAtParameter(self, parameter: Point2D) -> tuple[bool, Vector3D]: """ - Gets and sets the number scientific notation precision. This - value specifies the number of decimals to display. + 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. """ - pass - @property - def footAndInchDisplayFormat(self) -> FootAndInchDisplayFormats: + return (bool(), Vector3D()) + def getNormalsAtPoints(self, points: list[Point3D]) -> tuple[bool, list[Vector3D]]: """ - Gets and sets the foot and inch display format. + 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 FootAndInchDisplayFormats() - @footAndInchDisplayFormat.setter - def footAndInchDisplayFormat(self, value: FootAndInchDisplayFormats): + return (bool(), [Vector3D()]) + def getNormalAtPoint(self, point: Point3D) -> tuple[bool, Vector3D]: """ - Gets and sets the foot and inch display format. + 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. """ - pass - @property - def degreeDisplayFormat(self) -> DegreeDisplayFormats: + return (bool(), Vector3D()) + def getParametersAtPoints(self, points: list[Point3D]) -> tuple[bool, list[Point2D]]: """ - Gets and sets the degree display format. + 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 DegreeDisplayFormats() - @degreeDisplayFormat.setter - def degreeDisplayFormat(self, value: DegreeDisplayFormats): + return (bool(), [Point2D()]) + def getParameterAtPoint(self, point: Point3D) -> tuple[bool, Point2D]: """ - Gets and sets the degree display format. + 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. """ - pass - @property - def isPeriodDecimalPoint(self) -> bool: + return (bool(), Point2D()) + def getPointsAtParameters(self, parameters: list[Point2D]) -> tuple[bool, list[Point3D]]: """ - Gets and sets if the decimal is a period or comma. + 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() - @isPeriodDecimalPoint.setter - def isPeriodDecimalPoint(self, value: bool): + return (bool(), [Point3D()]) + def getPointAtParameter(self, parameter: Point2D) -> tuple[bool, Point3D]: """ - Gets and sets if the decimal is a period or comma. + 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. """ - pass - @property - def areAbbreviationsForUnitDisplayed(self) -> bool: + return (bool(), Point3D()) + def getParamAnomaly(self) -> tuple[bool, list[float], list[float], list[float], list[float], list[bool]]: """ - Gets and sets if abbreviations are used for units display. + 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() - @areAbbreviationsForUnitDisplayed.setter - def areAbbreviationsForUnitDisplayed(self, value: bool): + return (bool(), [float()], [float()], [float()], [float()], [bool()]) + def getFirstDerivatives(self, parameters: list[Point2D]) -> tuple[bool, list[Vector3D], list[Vector3D]]: """ - Gets and sets if abbreviations are used for units display. + 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. """ - pass - @property - def areSymbolsForUnitDisplayed(self) -> bool: + return (bool(), [Vector3D()], [Vector3D()]) + def getFirstDerivative(self, parameter: Point2D) -> tuple[bool, Vector3D, Vector3D]: """ - Gets and sets if symbols are used for units display. + 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() - @areSymbolsForUnitDisplayed.setter - def areSymbolsForUnitDisplayed(self, value: bool): + return (bool(), Vector3D(), Vector3D()) + def getSecondDerivatives(self, parameters: list[Point2D]) -> tuple[bool, list[Vector3D], list[Vector3D], list[Vector3D]]: """ - Gets and sets if symbols are used for units display. + 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. """ - pass - @property - def isScientificNotationUsed(self) -> bool: + return (bool(), [Vector3D()], [Vector3D()], [Vector3D()]) + def getSecondDerivative(self, parameter: Point2D) -> tuple[bool, Vector3D, Vector3D, Vector3D]: """ - Gets and sets if scientific notation is used when displaying numbers. + 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() - @isScientificNotationUsed.setter - def isScientificNotationUsed(self, value: bool): + return (bool(), Vector3D(), Vector3D(), Vector3D()) + def getThirdDerivatives(self, parameters: list[Point2D]) -> tuple[bool, list[Vector3D], list[Vector3D]]: """ - Gets and sets if scientific notation is used when displaying numbers. + 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. """ - pass - @property - def useScientficNotationAbove(self) -> int: + return (bool(), [Vector3D()], [Vector3D()]) + def getThirdDerivative(self, parameter: Point2D) -> tuple[bool, Vector3D, Vector3D]: """ - Gets and sets the number of whole digits that will be displayed before - switching to scientific notation. + 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 int() - @useScientficNotationAbove.setter - def useScientficNotationAbove(self, value: int): + return (bool(), Vector3D(), Vector3D()) + def isParameterOnFace(self, parameter: Point2D) -> bool: """ - Gets and sets the number of whole digits that will be displayed before - switching to scientific notation. + 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. """ - pass - @property - def useScientficNotationBelow(self) -> int: + return bool() + def parametricRange(self) -> BoundingBox2D: """ - Gets and sets the number of non zero decimal places that will be - displayed before switching to scientific notation. + 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 int() - @useScientficNotationBelow.setter - def useScientficNotationBelow(self, value: int): + return BoundingBox2D() + @property + def isClosedInU(self) -> bool: """ - Gets and sets the number of non zero decimal places that will be - displayed before switching to scientific notation. + Returns if the surface is closed (forms a loop) in the U direction """ - pass + return bool() @property - def areTrailingZerosHidden(self) -> bool: + def isClosedInV(self) -> bool: """ - Gets and sets if trailing zeros are hidden when displaying numbers. + Returns if the surface is closed (forms a loop) in the V direction """ return bool() - @areTrailingZerosHidden.setter - def areTrailingZerosHidden(self, value: bool): + @property + def area(self) -> float: """ - Gets and sets if trailing zeros are hidden when displaying numbers. + 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 - @property - def minimumPrecisionWhenHidingZeros(self) -> int: + @staticmethod + def cast(arg) -> TextureMapControl: + return TextureMapControl() + def reset(self) -> bool: """ - Gets and sets the minimum number of digits to the right of the decimal to display - before hiding trailing zeros. + Resets the texture map back to its original default settings. + Returns true if the reset was successful. """ - return int() - @minimumPrecisionWhenHidingZeros.setter - def minimumPrecisionWhenHidingZeros(self, value: int): + 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 and sets the minimum number of digits to the right of the decimal to display - before hiding trailing zeros. + Gets the unique ID of the toolbar that can be used programmatically + to find a specific toolbar. """ - pass + return str() @property - def materialDisplayUnit(self) -> MaterialDisplayUnits: + def parentUserInterface(self) -> UserInterface: """ - Gets and sets the units types to use when displaying values. + Gets the owning UserInterface object. """ - return MaterialDisplayUnits() - @materialDisplayUnit.setter - def materialDisplayUnit(self, value: MaterialDisplayUnits): + return UserInterface() + @property + def controls(self) -> ToolbarControls: """ - Gets and sets the units types to use when displaying values. + Gets the controls in this toolbar. """ - pass + return ToolbarControls() -class UnitsManager(Base): +class ToolbarControl(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. + The base class for all toolbar controls. """ def __init__(self): pass @staticmethod - def cast(arg) -> UnitsManager: - return UnitsManager() - def isValidExpression(self, expression: str, units: str) -> bool: + def cast(arg) -> ToolbarControl: + return ToolbarControl() + def deleteMe(self) -> 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. + Deletes the ToolbarControl + Returns a boolean indicating if the deletion was successful. """ 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: - """ - 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: + @property + def id(self) -> 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. + 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() - def standardizeExpression(self, expression: str, units: str) -> str: + @property + def index(self) -> int: """ - 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. + Gets the position of this control within the list of controls within the panel, toolbar, or drop-down control. """ - return str() + return int() @property - def product(self) -> Product: + def isVisible(self) -> bool: """ - Returns the parent Product. + Gets or sets if this control is currently visible. """ - return Product() - @property - def internalUnits(self) -> str: + return bool() + @isVisible.setter + def isVisible(self, value: bool): """ - Returns a string that represents internal units - i.e. "internalUnits". - This can be used when performing conversions via Convert. + Gets or sets if this control is currently visible. """ - return str() + pass @property - def defaultLengthUnits(self) -> str: + def parent(self) -> Base: """ - 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 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 str() + return Base() -class User(Base): +class ToolbarControlList(Base): """ - A class that represents a Fusion 360 User + Provides access to a list of toolbar controls. """ def __init__(self): pass @staticmethod - def cast(arg) -> User: - return User() - @property - def userName(self) -> str: + 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 Username associated with this user's Autodesk account + 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 str() - @property - def displayName(self) -> str: - """ - Returns display name of the user. (i.e. the name that shows up in the Fusion 360 UI) - """ - return str() - @property - def userId(self) -> str: + return ToolbarControl() + def itemById(self, id: str) -> ToolbarControl: """ - 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 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 str() + return ToolbarControl() @property - def email(self) -> str: + def count(self) -> int: """ - Get the email associated with this users Fusion 360 account + Gets the number of toolbar controls. """ - return str() + return int() -class UserInterface(Base): +class ToolbarControls(Base): """ - Provides access to the user-interface related objects and functionality. + ToolbarControls is a collection of ToolbarControl objects displayed in a toolbar or menu. """ def __init__(self): pass @staticmethod - def cast(arg) -> UserInterface: - return UserInterface() - def messageBox(self, text: str, title: str, buttons: MessageBoxButtonTypes, icon: MessageBoxIconTypes) -> DialogResults: - """ - 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. - """ - return DialogResults() - def inputBox(self, prompt: str, title: str, defaultValue: str) -> tuple[str, bool]: + 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: """ - 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. + 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 (str(), bool()) - def selectEntity(self, prompt: str, filter: str) -> Selection: + return ToolbarControl() + def itemById(self, id: str) -> ToolbarControl: """ - 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. + 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 Selection() - def createFileDialog(self) -> FileDialog: + return ToolbarControl() + def addCommand(self, commandDefinition: CommandDefinition, positionID: str = "", isBefore: bool = True) -> CommandControl: """ - 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. + 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 FileDialog() - def workspacesByProductType(self, productType: str) -> WorkspaceList: + return CommandControl() + def addDropDown(self, text: str, resourceFolder: str, id: str = "", positionID: str = "", isBefore: bool = True) -> DropDownControl: """ - 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. + 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 : This argument defines the resource folder that contains the images used for the icon when the drop-down is in a toolbar. + Icons can be defined using either PNG or SVG files. More information about icons can be found in the user manual + topic User Interface Customization. + + 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 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 WorkspaceList() - def toolbarPanelsByProductType(self, productType: str) -> ToolbarPanelList: + return DropDownControl() + def addSeparator(self, id: str = "", positionID: str = "", isBefore: bool = True) -> SeparatorControl: """ - 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. + 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 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 ToolbarPanelList() - def terminateActiveCommand(self) -> bool: + return SeparatorControl() + def addSplitButton(self, defaultDefinition: CommandDefinition, additionalDefinitions: list[CommandDefinition], showLastUsed: bool, id: str = "", positionID: str = "", isBefore: bool = True) -> SplitButtonControl: """ - Method that causes the currently active (running) command to be terminated - Returns true if terminating the active command was successful. + 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 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 bool() - def createProgressDialog(self) -> ProgressDialog: + return SplitButtonControl() + @property + def count(self) -> int: """ - 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. + Gets the number of controls in the collection. """ - return ProgressDialog() - def createFolderDialog(self) -> FolderDialog: + 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: """ - 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. + Deletes this toolbar panel. + Returns true if the delete was successful. """ - return FolderDialog() - def toolbarTabsByProductType(self, productType: str) -> ToolbarTabList: + return bool() + def indexWithinTab(self, tabId: str) -> int: """ - 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. + 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 ToolbarTabList() - def getText(self, module: str, id: str, defaultValue: str) -> str: + return int() + @property + def id(self) -> str: """ - 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. + Gets The unique, language independent, ID of this panel. """ return str() @property - def activeSelections(self) -> Selections: + def index(self) -> int: """ - Gets the current set of selected objects. + 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 Selections() + return int() @property - def activeWorkspace(self) -> Workspace: + def isVisible(self) -> 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. + Gets or sets 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. Setting it here will override that default behavior. """ - return Workspace() - @property - def commandDefinitions(self) -> CommandDefinitions: + return bool() + @isVisible.setter + def isVisible(self, value: bool): """ - Gets all of the command definitions currently defined. This is all - command definitions both internal and those defined through the API. + Gets or sets 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. Setting it here will override that default behavior. """ - return CommandDefinitions() + pass @property - def toolbars(self) -> Toolbars: + def name(self) -> str: """ - Gets a collection that provides access to the toolbars. This includes - the left and right QAT, and the Navbar. + Gets or sets the name of the panel as seen in the user interface. """ - return Toolbars() - @property - def workspaces(self) -> Workspaces: + return str() + @name.setter + def name(self, value: str): """ - Gets all of the workspaces currently available. + Gets or sets the name of the panel as seen in the user interface. """ - return Workspaces() + pass @property - def allToolbarPanels(self) -> ToolbarPanelList: + def controls(self) -> ToolbarControls: """ - Gets all of the toolbar panels. This returns all of the panels - available, regardless of which workspace or product they're associated with. + 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 ToolbarPanelList() + return ToolbarControls() @property - def workspacePreActivate(self) -> WorkspaceEvent: + def parentUserInterface(self) -> UserInterface: """ - The workspacePreActivate event fires at the VERY start of a workspace being activated. - The client can add or remove WorkspaceEventHandlers from the WorkspaceEvent. + Gets the parent UserInterface object. """ - return WorkspaceEvent() + return UserInterface() @property - def workspaceActivated(self) -> WorkspaceEvent: + def promotedControls(self) -> ToolbarControlList: """ - The workspaceActivated event fires at the VERY end of a workspace being activated. - The client can add or remove WorkspaceEventHandlers from the WorkspaceEvent. + Gets the controls in the panel that have been promoted. Promoted + controls are the controls that are displayed within the panel. """ - return WorkspaceEvent() + return ToolbarControlList() @property - def workspacePreDeactivate(self) -> WorkspaceEvent: + def relatedWorkspaces(self) -> ObjectCollection: """ - The workspacePreDeactivate event fires at the VERY start of a workspace being deactivated. - The client can add or remove WorkspaceEventHandlers from the WorkspaceEvent. + Gets or sets the set of workspaces that this panel is displayed for. """ - return WorkspaceEvent() - @property - def workspaceDeactivated(self) -> WorkspaceEvent: + return ObjectCollection() + @relatedWorkspaces.setter + def relatedWorkspaces(self, value: ObjectCollection): """ - The workspaceDeactivated event fires at the VERY end of a workspace being deactivated. - The client can add or remove WorkspaceEventHandlers from the WorkspaceEvent. + Gets or sets the set of workspaces that this panel is displayed for. """ - return WorkspaceEvent() + pass @property - def activeCommand(self) -> str: + def productType(self) -> str: """ - Gets the id of the command definition from the active command (the one that is currently running) + Returns the name of the product this toolbar panel is associated with. """ return str() - @property - def commandStarting(self) -> ApplicationCommandEvent: - """ - 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. - """ - return ApplicationCommandEvent() - @property - def commandCreated(self) -> ApplicationCommandEvent: + +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: """ - The commandCreated event fires immediately after the command is created. + 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 ApplicationCommandEvent() - @property - def commandTerminated(self) -> ApplicationCommandEvent: + return ToolbarPanel() + def itemById(self, id: str) -> ToolbarPanel: """ - Gets an event that is fired when a command is terminated. + 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 ApplicationCommandEvent() + return ToolbarPanel() @property - def markingMenuDisplaying(self) -> MarkingMenuEvent: + def count(self) -> int: """ - 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. + Gets the number of toolbar panels in the collection. """ - return MarkingMenuEvent() - @property - def palettes(self) -> Palettes: + 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: """ - Returns the collection object that provides access to all of the existing - palettes and provides the functionality to create new custom palettes. + 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 Palettes() - @property - def allToolbarTabs(self) -> ToolbarTabList: + return ToolbarPanel() + def item(self, index: int) -> ToolbarPanel: """ - 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 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 ToolbarTabList() - @property - def isTabbedToolbarUI(self) -> bool: + return ToolbarPanel() + def itemById(self, id: str) -> ToolbarPanel: """ - Returns true if Tabbed Toolbars are being used. - Returns true if using Tabbed Toolbars. + 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 bool() + return ToolbarPanel() @property - def activeSelectionChanged(self) -> ActiveSelectionEvent: + def count(self) -> int: """ - 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. + Gets the number of ToolbarPanels. """ - return ActiveSelectionEvent() + return int() -class UserInterfaceGeneralEventHandler(EventHandler): +class Toolbars(Base): """ - 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. + 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) -> UserInterfaceGeneralEventHandler: - return UserInterfaceGeneralEventHandler() - def notify(self, eventArgs: UserInterfaceGeneralEventArgs) -> None: + 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: """ - 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. + 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. """ - 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: + return Toolbar() + def itemById(self, id: str) -> Toolbar: """ - 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. + 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. """ - pass + return Toolbar() + @property + def count(self) -> int: + """ + Gets the number of Toolbar objects in the collection. + """ + return int() -class ValueInput(Base): +class ToolbarTab(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. + Toolbar tabs are the tabs shown in the command toolbar. """ def __init__(self): pass @staticmethod - def cast(arg) -> ValueInput: - return ValueInput() - @staticmethod - def createByReal(realValue: float) -> ValueInput: - """ - 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 ValueInput() - @staticmethod - def createByString(stringValue: str) -> ValueInput: + def cast(arg) -> ToolbarTab: + return ToolbarTab() + def activate(self) -> bool: """ - 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. + Activate this toolbar tab. + Boolean return that indicates if the activation was successful or not. """ - return ValueInput() - @staticmethod - def createByObject(objectReference: Base) -> ValueInput: + return bool() + def deleteMe(self) -> bool: """ - 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. + Deletes this tab. Fusion 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 ValueInput() - @staticmethod - def createByBoolean(booleanValue: bool) -> ValueInput: + return bool() + def move(self, positionId: str, isBefore: bool) -> bool: """ - 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. + Move this tab to a different position in the Toolbar in the user interface. + positionId : The ID of another ToolbarTab in the same Toolbar that is used to position this tab. This tab + will be positioned either directly before or after it. + isBefore : If true, then this tab will be positioned directly before the tab indicated by positionID. If + false, then this tab will be positioned after it. + Returns true if it was successful. """ - return ValueInput() + return bool() @property - def realValue(self) -> float: + def id(self) -> str: """ - 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. + Gets The unique, language independent, ID of this tab. """ - return float() + return str() @property - def stringValue(self) -> str: + def index(self) -> int: """ - 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. + 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 str() + return int() @property - def objectReference(self) -> Base: + def isVisible(self) -> bool: """ - 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. + Gets or sets whether this tab is currently being displayed in the user interface. + By default, a tab is made visible if it is associated with the active workspace and hidden + otherwise. Setting it here will override that default behavior. """ - return Base() + return bool() + @isVisible.setter + def isVisible(self, value: bool): + """ + Gets or sets whether this tab is currently being displayed in the user interface. + By default, a tab is made visible if it is associated with the active workspace and hidden + otherwise. Setting it here will override that default behavior. + """ + pass @property - def valueType(self) -> ValueTypes: + def name(self) -> str: """ - Returns the type of value this ValueInput currently represents. + Gets or sets the name of the tab as seen in the user interface. """ - return ValueTypes() + return str() + @name.setter + def name(self, value: str): + """ + Gets or sets the name of the tab as seen in the user interface. + """ + pass @property - def booleanValue(self) -> bool: + def toolbarPanels(self) -> ToolbarPanels: """ - 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. + 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 or was created via the API. """ return bool() -class Vector2D(Base): +class ToolbarTabList(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 ToolbarTabList is a list of ToolbarTab objects. """ def __init__(self): pass @staticmethod - def cast(arg) -> Vector2D: - return Vector2D() - @staticmethod - def create(x: float, y: float) -> Vector2D: + 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: """ - 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. + 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 Vector2D() - def add(self, vector: Vector2D) -> bool: + return ToolbarTab() + def itemById(self, id: str) -> ToolbarTab: """ - Add a vector to this vector. - vector : The vector to add to this vector. - Returns true if successful. + 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 bool() - def angleTo(self, vector: Vector2D) -> float: + return ToolbarTab() + @property + def count(self) -> int: """ - Gets the angle between this vector and another vector. - vector : The vector to measure the angle to. - Returns the angle in radians. + Gets the number of toolbar tabs in the collection. """ - return float() - def copy(self) -> Vector2D: + 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: """ - Creates and returns an independent copy of this Vector2D object. - Returns a new Vector2D object that is a copy of this Vector2D object. + 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 Vector2D() - def dotProduct(self, vector: Vector2D) -> float: + return ToolbarTab() + def itemById(self, id: str) -> ToolbarTab: """ - 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. + 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 float() - def asArray(self) -> list[float]: + return ToolbarTab() + def add(self, id: str, name: str) -> ToolbarTab: """ - Returns the vector values as an array [x, y]. - Returns an array of the vector's values [x, y]. + 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 [float()] - def isEqualTo(self, vector: Vector2D) -> bool: + return ToolbarTab() + @property + def count(self) -> int: """ - Compare this vector with another to check for equality. - vector : The vector to compare with for equality. - Returns true if the vectors are equal. + Gets the number of ToolbarTabs. """ - return bool() - def isParallelTo(self, vector: Vector2D) -> bool: + 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: """ - Compare this vector with another to check for parallelism. - vector : The vector to compare with for parallelism. - Returns true if the vectors are parallel. + Gets and sets the general precision for distance values. This + value specifies the number of decimals to display. """ - return bool() - def isPerpendicularTo(self, vector: Vector2D) -> bool: + return int() + @generalPrecision.setter + def generalPrecision(self, value: int): """ - Compare this vector with another to check for perpendicularity. - vector : The vector to compare with for perpendicularity. - Returns true if the vectors are perpendicular. + Gets and sets the general precision for distance values. This + value specifies the number of decimals to display. """ - return bool() - def normalize(self) -> bool: + pass + @property + def angularPrecision(self) -> int: """ - Normalizes the vector. - Normalization makes the vector length equal to one. - The vector should not be zero length. - Returns true if successful. + Gets and sets the angular precision. This + value specifies the number of decimals to display. """ - return bool() - def setWithArray(self, coordinates: list[float]) -> bool: + return int() + @angularPrecision.setter + def angularPrecision(self, value: int): """ - 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 + Gets and sets the angular precision. This + value specifies the number of decimals to display. """ - return bool() - def scaleBy(self, scale: float) -> bool: + pass + @property + def scientificNotationPrecision(self) -> int: """ - 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. + Gets and sets the number scientific notation precision. This + value specifies the number of decimals to display. """ - return bool() - def subtract(self, vector: Vector2D) -> bool: + return int() + @scientificNotationPrecision.setter + def scientificNotationPrecision(self, value: int): """ - Subtract a vector from this vector. - vector : The vector to subtract from this vector. - Returns true if successful. + Gets and sets the number scientific notation precision. This + value specifies the number of decimals to display. """ - return bool() - def transformBy(self, matrix: Matrix2D) -> bool: + pass + @property + def footAndInchDisplayFormat(self) -> FootAndInchDisplayFormats: """ - 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 foot and inch display format. """ - return bool() - def asPoint(self) -> Point2D: + return FootAndInchDisplayFormats() + @footAndInchDisplayFormat.setter + def footAndInchDisplayFormat(self, value: FootAndInchDisplayFormats): """ - Return a point with the same x and y values as this vector. - Returns the new point. + Gets and sets the foot and inch display format. """ - return Point2D() + pass @property - def length(self) -> float: + def degreeDisplayFormat(self) -> DegreeDisplayFormats: """ - Gets the length of the vector. + Gets and sets the degree display format. """ - return float() + return DegreeDisplayFormats() + @degreeDisplayFormat.setter + def degreeDisplayFormat(self, value: DegreeDisplayFormats): + """ + Gets and sets the degree display format. + """ + pass @property - def x(self) -> float: + def isPeriodDecimalPoint(self) -> bool: """ - Gets and sets the X coordinate of the vector. + Gets and sets if the decimal is a period or comma. """ - return float() - @x.setter - def x(self, value: float): + return bool() + @isPeriodDecimalPoint.setter + def isPeriodDecimalPoint(self, value: bool): """ - Gets and sets the X coordinate of the vector. + Gets and sets if the decimal is a period or comma. """ pass @property - def y(self) -> float: + def areAbbreviationsForUnitDisplayed(self) -> bool: """ - Gets and sets the Y coordinate of the vector. - """ - return float() - @y.setter - def y(self, value: float): - """ - Gets and sets the Y coordinate of the vector. - """ - 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, y: float, z: float) -> Vector3D: - """ - 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 Vector3D() - def add(self, vector: Vector3D) -> bool: - """ - Adds a vector to this vector. - vector : The vector to add to this vector. - Returns true if successful. + Gets and sets if abbreviations are used for units display. """ return bool() - def angleTo(self, vector: Vector3D) -> float: - """ - 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 float() - def asPoint(self) -> Point3D: - """ - Returns a new point with the same coordinate values as this vector. - Return the new point. - """ - return Point3D() - def copy(self) -> Vector3D: - """ - Creates a copy of this vector. - Returns the new vector copy. - """ - return Vector3D() - def crossProduct(self, vector: Vector3D) -> Vector3D: - """ - 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 Vector3D() - def dotProduct(self, vector: Vector3D) -> float: - """ - 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 float() - def asArray(self) -> list[float]: - """ - Returns the vector coordinates as an array [x, y, z]. - Returns the array of vector coordinates [x, y, z]. - """ - return [float()] - def isEqualTo(self, vector: Vector3D) -> bool: + @areAbbreviationsForUnitDisplayed.setter + def areAbbreviationsForUnitDisplayed(self, value: bool): """ - 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 and sets if abbreviations are used for units display. """ - return bool() - def isParallelTo(self, vector: Vector3D) -> bool: + pass + @property + def areSymbolsForUnitDisplayed(self) -> bool: """ - Determines if the input vector is parallel with this vector. - vector : The vector to test parallelism to. - Returns true if the vectors are parallel. + Gets and sets if symbols are used for units display. """ return bool() - def isPerpendicularTo(self, vector: Vector3D) -> bool: + @areSymbolsForUnitDisplayed.setter + def areSymbolsForUnitDisplayed(self, value: bool): """ - 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 and sets if symbols are used for units display. """ - return bool() - def normalize(self) -> bool: + pass + @property + def isScientificNotationUsed(self) -> bool: """ - Makes this vector of unit length. - This vector should not be zero length. - Returns true if successful. + Gets and sets if scientific notation is used when displaying numbers. """ return bool() - def setWithArray(self, coordinates: list[float]) -> bool: + @isScientificNotationUsed.setter + def isScientificNotationUsed(self, value: bool): """ - Reset this vector with the coordinate values in an array [x, y, z]. - coordinates : The array of coordinate values. - Returns true if successful. + Gets and sets if scientific notation is used when displaying numbers. """ - return bool() - def scaleBy(self, scale: float) -> bool: + pass + @property + def useScientficNotationAbove(self) -> int: """ - Scale this vector by the specified product. - scale : The scale value. - Returns true if successful. + Gets and sets the number of whole digits that will be displayed before + switching to scientific notation. """ - return bool() - def subtract(self, vector: Vector3D) -> bool: + return int() + @useScientficNotationAbove.setter + def useScientficNotationAbove(self, value: int): """ - Subtract a vector from this vector. - vector : The vector to subtract. - Returns true if successful. + Gets and sets the number of whole digits that will be displayed before + switching to scientific notation. """ - return bool() - def transformBy(self, matrix: Matrix3D) -> bool: + pass + @property + def useScientficNotationBelow(self) -> int: """ - Transform this vector by the specified matrix. - matrix : The transformation matrix. - Returns true if successful. + Gets and sets the number of non zero decimal places that will be + displayed before switching to scientific notation. """ - return bool() - @property - def length(self) -> float: + return int() + @useScientficNotationBelow.setter + def useScientficNotationBelow(self, value: int): """ - Get the length of this vector. + Gets and sets the number of non zero decimal places that will be + displayed before switching to scientific notation. """ - return float() + pass @property - def x(self) -> float: + def areTrailingZerosHidden(self) -> bool: """ - The x value. + Gets and sets if trailing zeros are hidden when displaying numbers. """ - return float() - @x.setter - def x(self, value: float): + return bool() + @areTrailingZerosHidden.setter + def areTrailingZerosHidden(self, value: bool): """ - The x value. + Gets and sets if trailing zeros are hidden when displaying numbers. """ pass @property - def y(self) -> float: + def minimumPrecisionWhenHidingZeros(self) -> int: """ - The y value. + Gets and sets the minimum number of digits to the right of the decimal to display + before hiding trailing zeros. """ - return float() - @y.setter - def y(self, value: float): + return int() + @minimumPrecisionWhenHidingZeros.setter + def minimumPrecisionWhenHidingZeros(self, value: int): """ - The y value. + Gets and sets the minimum number of digits to the right of the decimal to display + before hiding trailing zeros. """ pass @property - def z(self) -> float: + def materialDisplayUnit(self) -> MaterialDisplayUnits: """ - The z value. + Gets and sets the units types to use when displaying values. """ - return float() - @z.setter - def z(self, value: float): + return MaterialDisplayUnits() + @materialDisplayUnit.setter + def materialDisplayUnit(self, value: MaterialDisplayUnits): """ - The z value. + Gets and sets the units types to use when displaying values. """ pass -class Viewport(Base): +class UnitsManager(Base): """ - A viewport within Fusion 360. A viewport is the window where the model is displayed. + 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) -> Viewport: - return Viewport() - def refresh(self) -> 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. - """ - return bool() - def saveAsImageFile(self, filename: str, width: int, height: int) -> bool: + def cast(arg) -> UnitsManager: + return UnitsManager() + def isValidExpression(self, expression: str, units: str) -> 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. + 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 fit(self) -> bool: + def evaluateExpression(self, expression: str, units: str = "DefaultDistance") -> float: """ - Forces a camera change so that all of the graphics are visible in the viewport. - Returns true if the fit was successful. + 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 bool() - def modelToViewSpace(self, modelCoordinate: Point3D) -> Point2D: + return float() + def convert(self, valueInInputUnits: float, inputUnits: str, outputUnits: str) -> 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. + 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 Point2D() - def viewToModelSpace(self, viewCoordinate: Point2D) -> Point3D: + return float() + def formatUnits(self, units: str) -> str: """ - 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 Point3D() - def screenToView(self, screenCoordinate: Point2D) -> Point2D: - """ - 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 Point2D() - def viewToScreen(self, viewCoordinate: Point2D) -> Point2D: - """ - 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 Point2D() - @property - def camera(self) -> 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. + 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 Camera() - @camera.setter - def camera(self, value: Camera): + return str() + def standardizeExpression(self, expression: str, units: str = "DefaultDistance") -> str: """ - 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. + 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. """ - pass - @property - def height(self) -> int: + return str() + def formatValue(self, value: float, units: str = "DefaultDistance", precision: int = -1, showTrailingZeros: BooleanOptions = BooleanOptions.DefaultBooleanOption, minimumPrecision: int = -1, showUnits: bool = True) -> str: """ - Returns the height of the viewport in pixels. + Given a floating point number this method evaluates it as a value of a specific unit type + and returns an appropriate string. By default, the current unit settings defined + in the user preferences is used, but you can set the method arguments to override + the defaults to specify the formatting you want. The input value always uses internal + units, which are centimeters for length, radians for angles, and mass is in kilograms. + + This method is useful whenever you have a value you've gotten from Fusion or computed on your + own and need to display it to the user as a string. This method does the conversion and also + takes into account the units and the formatting the user has specified in their preferences. + + Below are some examples of various formatting where the user preferences for general precision is + four decimal places, and the angular precision is one decimal place. Also, trailing zeros are set to + be hidden and the minimum precision is two decimal places when trailing zeros are turned off. The + design units are specified to be "inch". + + Here, only the value is supplied and the default is to assume the units are the current design length unit + and use the preference settings to format it so there are four decimal places shown and the unit + name is included. + formatValue(1.5) -> "0.5906 in" + + In this example, an angle is specified by using "deg" as the unit, and the result showing + one decimal place, which is what's defined in the user preference, and it shows the unit name. + formatValue(0.7853981633974483096, "deg") -> "45.0 deg" + + This example converts the input value of 1.5 cm to mm where eight decimal places are shown, + trailing zeros are shown, and the unit name is shown. The fourth argument of minimum precision is + ignored, since it is only used when showTrailing zeros is False. + formatValue(1.5, "mm", 8, BooleanOptions.TrueBooleanOption, 0, True) - > "15.00000000 mm" + value : A floating point value that is assumed to use the internal unit type, which are centimeters for length, radians for angles, and mass is in kilograms. + units : The units the value represents. The default value for this argument is "DefaultDistance" which means it will + use the default distance units defined for the active design. + precision : This specifies the number of decimal places to display. The default value is -1 which indicates the + precision specified in preferences should be used. A maximum of 9 can be used and any larger numbers + will be forced to 9. + showTrailingZeros : Specifies if trailing zeros should be shown or not. The default value is to use the preference setting. + minimumPrecision : When trailing zeros are not displayed, this specifies a minimum precision where some trailing zeros are + still shown. The default value is -1 which indicates the minimum precision specified in preferences + should be used. A maximum of 8 can be used, and any larger numbers will be forced to 8. + showUnits : This specifies whether the unit name or symbol should be included in the result. + Returns the formatted string or an empty string in case of an error. """ - return int() + return str() @property - def width(self) -> int: + def product(self) -> Product: """ - Returns the width of the viewport in pixels. + Returns the parent Product. """ - return int() + return Product() @property - def isFullScreen(self) -> bool: - """ - Gets and sets if the view is in full screen mode. - """ - return bool() - @isFullScreen.setter - def isFullScreen(self, value: bool): + def internalUnits(self) -> str: """ - Gets and sets if the view is in full screen mode. + Returns a string that represents internal units - i.e. "internalUnits". + This can be used when performing conversions via Convert. """ - pass + return str() @property - def visualStyle(self) -> VisualStyles: - """ - Gets and sets the current visual style being used. - """ - return VisualStyles() - @visualStyle.setter - def visualStyle(self, value: VisualStyles): + def defaultLengthUnits(self) -> str: """ - Gets and sets the current visual style being used. + 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 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. """ - pass + return str() -class WebRequestEventHandler(EventHandler): +class URL(Base): """ - The WebRequestEventHandler is a client implemented class that can be added as a handler to an - WebRequestEvent. + A URL object provides useful and easy-to-use methods for creating, modifying, and analyzing URLs. """ def __init__(self): pass @staticmethod - 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 + def cast(arg) -> URL: + return URL() @staticmethod - def cast(arg) -> Workspace: - return Workspace() - def activate(self) -> 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. + def create(url: str) -> URL: """ - return bool() - def deleteMe(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. + 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 id(self) -> str: + return URL() + def toString(self) -> str: """ - 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. + Get the entire URL as string. + Returns the entire URL as string. """ return str() - @property - def isActive(self) -> bool: + def join(self, path: str) -> URL: """ - Gets if the workspace is currently active - i.e. displayed + 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 bool() + return URL() @property - def isNative(self) -> bool: + def protocol(self) -> str: """ - Gets if this workspace is native to Fusion 360 or was created via the API. + Get the protocol scheme of the URL, including the final ':'. + Returns the protocol scheme of the URL. """ - return bool() + return str() @property - def name(self) -> str: + def pathName(self) -> str: """ - Gets the visible name of the workspace as seen in the user interface. - This is the localized name. + 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 str() @property - def toolbarPanels(self) -> ToolbarPanels: + def leafName(self) -> str: """ - Gets the collection containing the panels associated with this workspace. - It's through this collection that you can add new toolbar panels. + Get the leaf name of the URL, which is the section behind the last '/'. + Returns the leaf name of the URL. """ - return ToolbarPanels() + return str() @property - def resourceFolder(self) -> str: + def parent(self) -> URL: """ - Gets or sets the resource folder. + Get the parent URL, represented by the section before the last '/'. + Returns the parent URL object. """ - return str() - @resourceFolder.setter - def resourceFolder(self, value: str): + return URL() + @property + def isURLValid(self) -> bool: """ - Gets or sets the resource folder. + 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 User(Base): + """ + A class that represents a Fusion User + """ + def __init__(self): pass + @staticmethod + def cast(arg) -> User: + return User() @property - def productType(self) -> str: + def userName(self) -> str: """ - Returns the name of the product this workspace is associated with. + Returns the user name associated with this user's Autodesk account """ return str() @property - def toolClipFilename(self) -> str: + def displayName(self) -> str: """ - 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. + Returns display name of the user. (i.e. the name that shows up in the Fusion UI) """ return str() - @toolClipFilename.setter - def toolClipFilename(self, value: str): - """ - 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. - """ - pass @property - def tooltip(self) -> str: + def userId(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". + 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 str() - @tooltip.setter - def tooltip(self, value: 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". - """ - pass @property - def tooltipDescription(self) -> str: + def email(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. + Get the email associated with this users Fusion account """ return str() - @tooltipDescription.setter - def tooltipDescription(self, value: 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. - """ - pass - @property - def toolbarTabs(self) -> ToolbarTabs: - """ - Gets the collection containing the tabs associated with this workspace. - """ - return ToolbarTabs() -class WorkspaceEventHandler(EventHandler): +class UserInterface(Base): """ - The WorkspaceEventHandler is a client implemented class that can be added as a handler to a - WorkspaceEvent. + Provides access to the user-interface related objects and functionality. """ def __init__(self): pass @staticmethod - def cast(arg) -> WorkspaceEventHandler: - return WorkspaceEventHandler() - def notify(self, eventArgs: WorkspaceEventArgs) -> None: + def cast(arg) -> UserInterface: + return UserInterface() + def messageBox(self, text: str, title: str = "", buttons: MessageBoxButtonTypes = MessageBoxButtonTypes.OKButtonType, icon: MessageBoxIconTypes = MessageBoxIconTypes.NoIconIconType) -> DialogResults: """ - 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. + 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. """ - 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 item(self, index: int) -> Workspace: + return DialogResults() + def inputBox(self, prompt: str, title: str = "", defaultValue: str = "") -> tuple[str, 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. + 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 (str(), bool()) + def selectEntity(self, prompt: str, filter: str) -> Selection: + """ + 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 Selection() + def createFileDialog(self) -> FileDialog: + """ + 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 FileDialog() + def workspacesByProductType(self, productType: str) -> WorkspaceList: + """ + 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 WorkspaceList() + def toolbarPanelsByProductType(self, productType: str) -> ToolbarPanelList: + """ + 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. + """ + return ToolbarPanelList() + def terminateActiveCommand(self) -> bool: + """ + Method that causes the currently active (running) command to be terminated + Returns true if terminating the active command was successful. + """ + return bool() + def createProgressDialog(self) -> ProgressDialog: + """ + 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. + """ + return ProgressDialog() + def createFolderDialog(self) -> FolderDialog: + """ + 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 FolderDialog() + def toolbarTabsByProductType(self, productType: str) -> ToolbarTabList: + """ + 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. + """ + return ToolbarTabList() + def getText(self, module: str, id: str, defaultValue: str) -> str: + """ + 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.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 str() + def createCloudFileDialog(self) -> CloudFileDialog: + """ + 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 web client. + Returns the created CloudFileDialog object that you can use to define the contents of and display a standard file dialog. + """ + return CloudFileDialog() + @property + def activeSelections(self) -> Selections: + """ + Gets the current set of selected objects. + """ + return Selections() + @property + def activeWorkspace(self) -> Workspace: + """ + 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. """ return Workspace() - def itemById(self, id: str) -> Workspace: + @property + def commandDefinitions(self) -> CommandDefinitions: + """ + Gets all of the command definitions currently defined. This is all + command definitions both internal and those defined through the API. + """ + return CommandDefinitions() + @property + def toolbars(self) -> Toolbars: + """ + Gets a collection that provides access to the toolbars. This includes + the left and right QAT, and the Navbar. + """ + return Toolbars() + @property + def workspaces(self) -> Workspaces: + """ + Gets all of the workspaces currently available. + """ + return Workspaces() + @property + def allToolbarPanels(self) -> ToolbarPanelList: + """ + Gets all of the toolbar panels. This returns all of the panels + available, regardless of which workspace or product they're associated with. + """ + return ToolbarPanelList() + @property + def workspacePreActivate(self) -> WorkspaceEvent: + """ + The workspacePreActivate event fires at the VERY start of a workspace being activated. + The client can add or remove WorkspaceEventHandlers from the WorkspaceEvent. + """ + return WorkspaceEvent() + @property + def workspaceActivated(self) -> WorkspaceEvent: + """ + The workspaceActivated event fires at the VERY end of a workspace being activated. + The client can add or remove WorkspaceEventHandlers from the WorkspaceEvent. + """ + return WorkspaceEvent() + @property + def workspacePreDeactivate(self) -> WorkspaceEvent: + """ + The workspacePreDeactivate event fires at the VERY start of a workspace being deactivated. + The client can add or remove WorkspaceEventHandlers from the WorkspaceEvent. + """ + return WorkspaceEvent() + @property + def workspaceDeactivated(self) -> WorkspaceEvent: + """ + The workspaceDeactivated event fires at the VERY end of a workspace being deactivated. + The client can add or remove WorkspaceEventHandlers from the WorkspaceEvent. + """ + return WorkspaceEvent() + @property + def activeCommand(self) -> str: + """ + Gets the id of the command definition from the active command (the one that is currently running) + """ + return str() + @property + def commandStarting(self) -> ApplicationCommandEvent: + """ + 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. + """ + return ApplicationCommandEvent() + @property + def commandCreated(self) -> ApplicationCommandEvent: + """ + The commandCreated event fires immediately after the command is created. + """ + return ApplicationCommandEvent() + @property + def commandTerminated(self) -> ApplicationCommandEvent: + """ + Gets an event that is fired when a command is terminated. + """ + return ApplicationCommandEvent() + @property + def markingMenuDisplaying(self) -> MarkingMenuEvent: + """ + 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. 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 will then + display the marking and context menu that you've customized. If either one is empty it will not be displayed. + """ + return MarkingMenuEvent() + @property + def palettes(self) -> Palettes: + """ + Returns the collection object that provides access to all of the existing + palettes and provides the functionality to create new custom palettes. + """ + return Palettes() + @property + def allToolbarTabs(self) -> ToolbarTabList: + """ + Gets all of the toolbar tabs. This returns all of the tabs + available, regardless of which workspace or product they're associated with. + """ + return ToolbarTabList() + @property + def isTabbedToolbarUI(self) -> bool: + """ + Returns true if Tabbed Toolbars are being used. + Returns true if using Tabbed Toolbars. + """ + 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 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 ActiveSelectionEvent() + @property + def activeToolbar(self) -> Toolbar: + """ + Retrieve the active Toolbar being displayed in the user interface. + """ + return Toolbar() + @property + def activeToolbarTab(self) -> ToolbarTab: + """ + Retrieve the active ToolbarTab being displayed in the user interface. This may be null. + """ + return ToolbarTab() + @property + def statusMessage(self) -> str: + """ + Gets and sets the current message displayed in the lower-right corner of the Fusion window. + This is useful when displaying progress information to the user for the current process. + Set the value to an empty string to remove the message. The lifetime of your message is + indeterminant because Fusion uses the same field to display messages. + + If your process is running in the main thread of Fusion, you will need to call adsk.doEvents + to give control back to Fusion, so it can update the UI. + + The ProgressBar can also be used as a way to communicate to the user the current progress + of a running process. + """ + return str() + @statusMessage.setter + def statusMessage(self, value: str): + """ + Gets and sets the current message displayed in the lower-right corner of the Fusion window. + This is useful when displaying progress information to the user for the current process. + Set the value to an empty string to remove the message. The lifetime of your message is + indeterminant because Fusion uses the same field to display messages. + + If your process is running in the main thread of Fusion, you will need to call adsk.doEvents + to give control back to Fusion, so it can update the UI. + + The ProgressBar can also be used as a way to communicate to the user the current progress + of a running process. + """ + pass + @property + def progressBar(self) -> ProgressBar: + """ + Gets the ProgressBar object that can be used to display a progress bar in the lower-right + corner of the Fusion window. + """ + return ProgressBar() + @property + def isUIEnabled(self) -> bool: + """ + Gets and sets if the Fusion user interface is enabled or not. By default it + is enabled allowing the user to interact with Fusion. When set to false, the + UI is disabled which blocks all interaction, including running commands, + manipulating the view and interacting with the browser. + """ + return bool() + @isUIEnabled.setter + def isUIEnabled(self, value: bool): + """ + Gets and sets if the Fusion user interface is enabled or not. By default it + is enabled allowing the user to interact with Fusion. When set to false, the + UI is disabled which blocks all interaction, including running commands, + manipulating the view and interacting with the browser. + """ + pass + +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: + """ + The function called by Fusion when the associated event is fired. + eventArgs : Returns an object that provides access to additional information associated with the event. + """ + 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: + """ + 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. + """ + 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: + """ + 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 ValueInput() + @staticmethod + def createByString(stringValue: str) -> ValueInput: + """ + 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 ValueInput() + @staticmethod + def createByObject(objectReference: Base) -> ValueInput: + """ + Creates a new ValueInput object that contains a reference to any Fusion object. + objectReference : The Fusion object that you want to create the ValueInput for. + Returns the newly created ValueInput object or null if the creation failed. + """ + return ValueInput() + @staticmethod + def createByBoolean(booleanValue: bool) -> ValueInput: + """ + 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 ValueInput() + @property + def realValue(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. + """ + return float() + @property + def stringValue(self) -> str: + """ + 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 objectReference(self) -> Base: + """ + 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 Base() + @property + def valueType(self) -> ValueTypes: + """ + Returns the type of value this ValueInput currently represents. + """ + return ValueTypes() + @property + def booleanValue(self) -> bool: + """ + 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 bool() + +class Vector2D(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. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Vector2D: + return Vector2D() + @staticmethod + def create(x: float = 0.0, y: float = 0.0) -> Vector2D: + """ + 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 Vector2D() + def add(self, vector: Vector2D) -> bool: + """ + Add a vector to this vector. + vector : The vector to add to this vector. + Returns true if successful. + """ + return bool() + def angleTo(self, vector: Vector2D) -> float: + """ + Gets the angle between this vector and another vector. + vector : The vector to measure the angle to. + Returns the angle in radians. + """ + return float() + def copy(self) -> Vector2D: + """ + Creates and returns an independent copy of this Vector2D object. + Returns a new Vector2D object that is a copy of this Vector2D object. + """ + return Vector2D() + def dotProduct(self, vector: Vector2D) -> float: + """ + 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 float() + def asArray(self) -> list[float]: + """ + Returns the vector values as an array [x, y]. + Returns an array of the vector's values [x, y]. + """ + return [float()] + def isEqualTo(self, vector: Vector2D) -> bool: + """ + 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 isParallelTo(self, vector: Vector2D) -> 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. + """ + return bool() + def isPerpendicularTo(self, vector: Vector2D) -> 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. + """ + return bool() + def normalize(self) -> bool: + """ + Normalizes the vector. + Normalization makes the vector length equal to one. + The vector should not be zero length. + Returns true if successful. + """ + return bool() + def setWithArray(self, coordinates: list[float]) -> 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 + """ + return bool() + def scaleBy(self, scale: float) -> 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. + """ + return bool() + def subtract(self, vector: Vector2D) -> bool: + """ + Subtract a vector from this vector. + vector : The vector to subtract from this vector. + Returns true if successful. + """ + return bool() + def transformBy(self, matrix: Matrix2D) -> bool: + """ + Transforms the vector by specifying a 2D transformation matrix. + matrix : The Matrix2D object that defines the transformation. + Returns true if successful. + """ + return bool() + def asPoint(self) -> Point2D: + """ + Return a point with the same x and y values as this vector. + Returns the new point. + """ + return Point2D() + @property + def length(self) -> float: + """ + Gets the length of the vector. + """ + return float() + @property + def x(self) -> float: + """ + Gets and sets the X coordinate of the vector. + """ + return float() + @x.setter + def x(self, value: float): + """ + Gets and sets the X coordinate of the vector. + """ + pass + @property + def y(self) -> float: + """ + Gets and sets the Y coordinate of the vector. + """ + return float() + @y.setter + def y(self, value: float): + """ + Gets and sets the Y coordinate of the vector. + """ + 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: + """ + 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 Vector3D() + def add(self, vector: Vector3D) -> bool: + """ + Adds a vector to this vector. + vector : The vector to add to this vector. + Returns true if successful. + """ + return bool() + def angleTo(self, vector: Vector3D) -> float: + """ + 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 float() + def asPoint(self) -> Point3D: + """ + Returns a new point with the same coordinate values as this vector. + Return the new point. + """ + return Point3D() + def copy(self) -> Vector3D: + """ + Creates a copy of this vector. + Returns the new vector copy. + """ + return Vector3D() + def crossProduct(self, vector: Vector3D) -> Vector3D: + """ + 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 Vector3D() + def dotProduct(self, vector: Vector3D) -> float: + """ + 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 float() + def asArray(self) -> list[float]: + """ + Returns the vector coordinates as an array [x, y, z]. + Returns the array of vector coordinates [x, y, z]. + """ + return [float()] + def isEqualTo(self, vector: Vector3D) -> bool: + """ + 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() + def isParallelTo(self, vector: Vector3D) -> bool: + """ + Determines if the input vector is parallel with this vector. + vector : The vector to test parallelism to. + Returns true if the vectors are parallel. + """ + return bool() + def isPerpendicularTo(self, vector: Vector3D) -> bool: + """ + Determines if the input vector is perpendicular to this vector. + vector : The vector to test perpendicularity to. + Returns true if the vectors are perpendicular. + """ + return bool() + def normalize(self) -> bool: + """ + Makes this vector of unit length. + This vector should not be zero length. + Returns true if successful. + """ + return bool() + def setWithArray(self, coordinates: list[float]) -> bool: + """ + Reset this vector with the coordinate values in an array [x, y, z]. + coordinates : The array of coordinate values. + Returns true if successful. + """ + return bool() + def scaleBy(self, scale: float) -> bool: + """ + Scale this vector by the specified product. + scale : The scale value. + Returns true if successful. + """ + return bool() + def subtract(self, vector: Vector3D) -> bool: + """ + Subtract a vector from this vector. + vector : The vector to subtract. + Returns true if successful. + """ + return bool() + def transformBy(self, matrix: Matrix3D) -> bool: + """ + Transform this vector by the specified matrix. + matrix : The transformation matrix. + Returns true if successful. + """ + return bool() + @property + def length(self) -> float: + """ + Get the length of this vector. + """ + return float() + @property + def x(self) -> float: + """ + The x value. + """ + return float() + @x.setter + def x(self, value: float): + """ + The x value. + """ + pass + @property + def y(self) -> float: + """ + The y value. + """ + return float() + @y.setter + def y(self, value: float): + """ + The y value. + """ + pass + @property + def z(self) -> float: + """ + The z value. + """ + return float() + @z.setter + def z(self, value: float): + """ + The z value. + """ + pass + +class Viewport(Base): + """ + A viewport within Fusion. A viewport is the window where the model is displayed. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Viewport: + return Viewport() + def refresh(self) -> 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. + """ + return bool() + def saveAsImageFile(self, filename: str, width: int, height: int) -> 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. + """ + return bool() + def fit(self) -> bool: + """ + Forces a camera change so that all of the graphics are visible in the viewport. + Returns true if the fit was successful. + """ + return bool() + def modelToViewSpace(self, modelCoordinate: Point3D) -> Point2D: + """ + 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 Point2D() + def viewToModelSpace(self, viewCoordinate: Point2D) -> Point3D: + """ + 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 Point3D() + def screenToView(self, screenCoordinate: Point2D) -> Point2D: + """ + 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 Point2D() + def viewToScreen(self, viewCoordinate: Point2D) -> Point2D: + """ + 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 Point2D() + def saveAsImageFileWithOptions(self, options: SaveImageFileOptions) -> 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. + 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 setCurrentAsFront(self) -> bool: + """ + Sets the "front" view to be the current view orientation. + Returns true if setting the view orientation was successful. + """ + return bool() + def setCurrentAsTop(self) -> bool: + """ + Sets the "top" view to be the current view orientation. + Returns true if setting the view orientation was successful. + """ + return bool() + def setCurrentAsHome(self, isFitToView: bool) -> bool: + """ + 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 goHome(self, transition: bool = True) -> bool: + """ + 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 resetFront(self) -> bool: + """ + Resets the front view to be the default front view orientation. + Returns true if resetting to front was successful. + """ + return bool() + @property + def camera(self) -> 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. + """ + 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() + @isFullScreen.setter + def isFullScreen(self, value: bool): + """ + Gets and sets if the view is in full screen mode. + """ + pass + @property + def visualStyle(self) -> VisualStyles: + """ + Gets and sets the current visual style being used. + """ + return VisualStyles() + @visualStyle.setter + def visualStyle(self, value: VisualStyles): + """ + Gets and sets the current visual style being used. + """ + pass + @property + def parentDocument(self) -> Document: + """ + Returns the parent document of this viewport. + """ + return Document() + @property + def frontEyeDirection(self) -> Vector3D: + """ + 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. + """ + return Vector3D() + @property + def frontUpDirection(self) -> Vector3D: + """ + Returns the up direction of the front view as defined by the view cube. + """ + return Vector3D() + @property + def modelToViewSpaceTransform(self) -> Matrix3D: + """ + Returns a transformation matrix that defines the transform from model to viewport space. + """ + return Matrix3D() + +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: + """ + The function called by Fusion 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). + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Workspace: + return Workspace() + def activate(self) -> bool: + """ + Activate the workspace (assuming it is valid to do so - a SIM workspace can't + be activated if Fusion is the active product). + Boolean return that indicates if the activation was successful or not. + """ + return bool() + def deleteMe(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. + """ + return bool() + @property + def id(self) -> str: + """ + 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 str() + @property + def isActive(self) -> bool: + """ + Gets if the workspace is currently active - i.e. displayed + """ + return bool() + @property + def isNative(self) -> bool: + """ + Gets if this workspace is native to Fusion or was created via the API. + """ + return bool() + @property + def name(self) -> str: + """ + Gets the visible name of the workspace as seen in the user interface. + This is the localized name. + """ + return str() + @property + def toolbarPanels(self) -> ToolbarPanels: + """ + Gets the collection containing the panels associated with this workspace. + It's through this collection that you can add new toolbar panels. + """ + return ToolbarPanels() + @property + def resourceFolder(self) -> str: + """ + Gets or sets the resource folder. + """ + return str() + @resourceFolder.setter + def resourceFolder(self, value: str): + """ + Gets or sets the resource folder. + """ + pass + @property + def productType(self) -> str: + """ + Returns the name of the product this workspace is associated with. + """ + return str() + @property + def toolClipFilename(self) -> str: + """ + 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 str() + @toolClipFilename.setter + def toolClipFilename(self, value: str): + """ + 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. + """ + pass + @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 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): + """ + 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 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". + """ + pass + @property + def tooltipDescription(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 toolbar drop-down. The pop-up dialog that appears contains the tooltip, the tooltip + description, and the tool clip which is a picture. + """ + return str() + @tooltipDescription.setter + def tooltipDescription(self, value: 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 toolbar drop-down. The pop-up dialog that appears contains the tooltip, the tooltip + description, and the tool clip which is a picture. + """ + pass + @property + def toolbarTabs(self) -> ToolbarTabs: + """ + Gets the collection containing the tabs associated with this workspace. + """ + 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 function called by Fusion when the associated event is fired. + eventArgs : Returns an object that provides access to additional information associated with the event. + """ + 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: + """ + 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 + @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: + """ + 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 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 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: + """ + 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: ActiveSelectionEventHandler) -> 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 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 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]: + """ + 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() + @property + def value(self) -> float: + """ + 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 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 + def value(self, value: float): + """ + 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 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 expression(self) -> 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 angle expression. If units are not + specified as part of the expression, the default user units of degrees are used. + """ + 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 angle expression. If units are not + specified as part of the expression, the default user units of degrees are used. + """ + pass + @property + def minimumValue(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. + """ + return float() + @minimumValue.setter + def minimumValue(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. + """ + pass + @property + def hasMinimumValue(self) -> bool: + """ + 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 bool() + @hasMinimumValue.setter + def hasMinimumValue(self, value: bool): + """ + 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 + @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 + @property + def maximumValue(self) -> float: + """ + 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 float() + @maximumValue.setter + def maximumValue(self, value: float): + """ + 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 + @property + def hasMaximumValue(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. + """ + return bool() + @hasMaximumValue.setter + def hasMaximumValue(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. + """ + pass + @property + def isMaximumValueInclusive(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. + """ + return bool() + @isMaximumValueInclusive.setter + def isMaximumValueInclusive(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. + """ + pass + @property + def manipulatorOrigin(self) -> Point3D: + """ + Gets the origin point of the manipulator in the model space of the root component. + To set the origin use the setManipulator method. + """ + return Point3D() + @property + def manipulatorXDirection(self) -> Vector3D: + """ + 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 Vector3D() + @property + def manipulatorYDirection(self) -> Vector3D: + """ + 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 Vector3D() + @property + def isValidExpression(self) -> bool: + """ + 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 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 value(self) -> AppearanceTexture: + """ + Gets and sets this property value. + """ + return AppearanceTexture() + @value.setter + def value(self, value: AppearanceTexture): + """ + Gets and sets this property value. + """ + pass + @property + def isUsed(self) -> bool: + """ + 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 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: + """ + 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() + +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 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() + @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. + """ + 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 terminationReason(self) -> CommandTerminationReason: + """ + Returns the reason the command is being terminated. + This property should be ignored for all events besides the commandTerminated event. + """ + return CommandTerminationReason() + +class ApplicationEvent(Event): + """ + An ApplicationEvent represents a Fusion application related event. For example, startupCompleted or OnlineStatusChanged + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ApplicationEvent: + return ApplicationEvent() + def add(self, handler: ApplicationEventHandler) -> 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: + """ + 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 ApplicationEventArgs(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) -> ApplicationEventArgs: + return ApplicationEventArgs() + @property + def isOffLine(self) -> bool: + """ + Gets and sets if Fusion is offline or not. + """ + return bool() + @isOffLine.setter + def isOffLine(self, value: bool): + """ + Gets and sets if Fusion is offline or not. + """ + pass + @property + def hasInternetAccess(self) -> bool: + """ + Gets if the client computer has access to the Internet. + """ + return bool() + +class Arc2D(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. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Arc2D: + return Arc2D() + @staticmethod + def createByCenter(center: Point2D, radius: float, startAngle: float, endAngle: float, isClockwise: bool = False) -> Arc2D: + """ + 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 Arc2D() + @staticmethod + def createByThreePoints(startPoint: Point2D, point: Point2D, endPoint: Point2D) -> Arc2D: + """ + 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 Arc2D() + def copy(self) -> Arc2D: + """ + Creates and returns an independent copy of this Arc2D object. + Returns a new Arc2D object that is a copy of this Arc2D object. + """ + 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 center(self) -> Point2D: + """ + 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. + """ + pass + @property + def radius(self) -> float: + """ + Gets and sets the radius of the arc. + """ + 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. + """ + pass + @property + def isClockwise(self) -> bool: + """ + Gets 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. + """ + return NurbsCurve2D() + +class Arc3D(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. + """ + 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() + @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 center(self) -> Point3D: + """ + Gets and sets the center position of the arc. + """ + return Point3D() + @center.setter + def center(self, value: Point3D): + """ + Gets and sets the center position of the arc. + """ + pass + @property + def normal(self) -> Vector3D: + """ + Gets the normal of the arc. + """ + return Vector3D() + @property + def referenceVector(self) -> Vector3D: + """ + Gets the reference vector of the arc. + """ + return Vector3D() + @property + def radius(self) -> float: + """ + Gets and sets the radius of the arc. + """ + 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. + This angle is measured from the reference vector using the right hand rule around the normal vector. + """ + return float() + @startAngle.setter + def startAngle(self, value: float): + """ + 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 endAngle(self) -> float: + """ + 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 float() + @endAngle.setter + def endAngle(self, value: float): + """ + 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 startPoint(self) -> Point3D: + """ + Gets the start point of the arc. + """ + return Point3D() + @property + def endPoint(self) -> Point3D: + """ + 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 property that is a Boolean value. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> BooleanProperty: + return BooleanProperty() + @property + def value(self) -> bool: + """ + Gets and sets the value of this property. + """ + return bool() + @value.setter + def value(self, value: bool): + """ + 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 value(self) -> 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. + """ + return bool() + @value.setter + def value(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. + """ + pass + @property + def resourceFolder(self) -> str: + """ + Gets and sets the folder that contains the icon to display on the button. Text + can also be displayed, which is specified using the text property. More information about icons can be found in the user manual + topic User Interface Customization. + + """ + return str() + @resourceFolder.setter + def resourceFolder(self, value: str): + """ + Gets and sets the folder that contains the icon to display on the button. Text + can also be displayed, which is specified using the text property. More information about icons can be found in the user manual + topic User Interface Customization. + + """ + pass + @property + def isCheckBox(self) -> bool: + """ + Indicates if this is being shown as a button or check box. + """ + return bool() + @property + def text(self) -> 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. + """ + 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 BrowserCommandInput(CommandInput): + """ + 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) -> 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 htmlFileURL(self) -> str: + """ + Gets and sets the URL to the HTML file currently being displayed. This can be local or on the web. + """ + 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. + """ + pass + @property + def minimumHeight(self) -> 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. + """ + return int() + @minimumHeight.setter + def minimumHeight(self, value: int): """ - 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 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 Workspace() + pass @property - def count(self) -> int: + def maximumHeight(self) -> int: """ - Gets the number of workspaces in the collection. + 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 Workspaces(Base): +class ButtonControlDefinition(ControlDefinition): """ - Provides access to all of the existing workspaces. + 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) -> Workspaces: - return Workspaces() - def item(self, index: int) -> Workspace: - """ - 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: + 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: """ - 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. + 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 Workspace() - def add(self, productType: str, id: str, name: str, resourceFolder: str) -> Workspace: + return bool() + @property + def listItems(self) -> ListItems: """ - 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. + 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. """ - return Workspace() + return ListItems() @property - def count(self) -> int: + def selectedItem(self) -> ListItem: """ - Gets the number of workspaces in the collection. + 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 int() + return ListItem() -class ActiveSelectionEvent(Event): +class CameraEvent(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. + 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) -> ActiveSelectionEvent: - return ActiveSelectionEvent() - def add(self, handler: ActiveSelectionEventHandler) -> 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: ActiveSelectionEventHandler) -> bool: + def remove(self, handler: CameraEventHandler) -> bool: """ Removes a handler from the event. handler : The handler object to be removed from the event. @@ -10704,5852 +15261,6407 @@ def remove(self, handler: ActiveSelectionEventHandler) -> bool: """ return bool() -class ActiveSelectionEventArgs(EventArgs): +class CameraEventArgs(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. + 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): + """ + 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 property that is a predefined list of choices. - 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. + This is most commonly used for properties associated with materials and appearances. + """ + 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 value(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 predefined choices. + The names of the available choices can be obtained using GetChoices method. + """ + 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 Circle2D(Curve2D): + """ + 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) -> ActiveSelectionEventArgs: - return ActiveSelectionEventArgs() + @staticmethod + def cast(arg) -> Circle2D: + return Circle2D() + @staticmethod + def createByCenter(center: Point2D, radius: float) -> Circle2D: + """ + 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 Circle2D() + @staticmethod + def createByThreePoints(pointOne: Point2D, pointTwo: Point2D, pointThree: Point2D) -> Circle2D: + """ + 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 Circle2D() + def copy(self) -> Circle2D: + """ + Creates and returns an independent copy of this Circle2D object. + Returns an independent copy of this Circle2D object. + """ + return Circle2D() + def getData(self) -> tuple[bool, Point2D, float]: + """ + 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()) + def set(self, center: Point2D, radius: float) -> bool: + """ + 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 circle. + """ + return Point2D() + @center.setter + def center(self, value: Point2D): + """ + Gets and sets the center position of the circle. + """ + pass + @property + def radius(self) -> float: + """ + Gets and sets the radius of the circle. + """ + return float() + @radius.setter + def radius(self, value: float): + """ + Gets and sets the radius of the circle. + """ + pass @property - def currentSelection(self) -> list[Selection]: + def asNurbsCurve(self) -> NurbsCurve2D: """ - 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. + Returns a NURBS curve that is geometrically identical to the circle. """ - return [Selection()] + return NurbsCurve2D() -class AngleValueCommandInput(CommandInput): +class Circle3D(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 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) -> AngleValueCommandInput: - return AngleValueCommandInput() - def setManipulator(self, origin: Point3D, xDirection: Vector3D, yDirection: Vector3D) -> bool: + def cast(arg) -> Circle3D: + return Circle3D() + @staticmethod + def createByCenter(center: Point3D, normal: Vector3D, radius: float) -> Circle3D: """ - 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 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 Circle3D() + @staticmethod + def createByThreePoints(pointOne: Point3D, pointTwo: Point3D, pointThree: Point3D) -> Circle3D: + """ + 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 Circle3D() + def copy(self) -> Circle3D: + """ + Creates and returns an independent copy of this Circle3D object. + Returns an independent copy of this Circle3D object. + """ + return Circle3D() + def getData(self) -> tuple[bool, Point3D, Vector3D, float]: + """ + 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 (bool(), Point3D(), Vector3D(), float()) + def set(self, center: Point3D, normal: Vector3D, radius: float) -> bool: + """ + 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 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 circle. """ - 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 circle. """ 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 circle. """ - return str() - @expression.setter - def expression(self, value: str): + return Vector3D() + @normal.setter + def normal(self, value: 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 circle. """ pass @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 circle. """ 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 circle. """ pass @property - def hasMinimumValue(self) -> bool: + def asNurbsCurve(self) -> NurbsCurve3D: """ - 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. + Returns a NURBS curve that is geometrically identical to the circle. """ - return bool() - @hasMinimumValue.setter - def hasMinimumValue(self, value: bool): + return NurbsCurve3D() + +class ColorProperty(Property): + """ + A property that defines a color. + + This is most commonly used for properties associated with materials and appearances. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ColorProperty: + return ColorProperty() + @property + def connectedTexture(self) -> AppearanceTexture: """ - 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. + Used for appearances and 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. """ - pass + return AppearanceTexture() @property - def isMinimumValueInclusive(self) -> bool: + def hasConnectedTexture(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. + 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() - @isMinimumValueInclusive.setter - def isMinimumValueInclusive(self, value: bool): + @hasConnectedTexture.setter + def hasConnectedTexture(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. + 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 maximumValue(self) -> float: + def hasMultipleValues(self) -> bool: """ - 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. + Indicates if this property has multiple values or not. """ - return float() - @maximumValue.setter - def maximumValue(self, value: float): + return bool() + @property + def value(self) -> Color: """ - 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 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 hasMaximumValue(self) -> bool: + def values(self) -> list[Color]: """ - 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 values associated with this property. The HasMultipleValues property + indicates if this property will be returning more than one value. """ - return bool() - @hasMaximumValue.setter - def hasMaximumValue(self, value: bool): + return [Color()] + @values.setter + def values(self, value: list[Color]): """ - 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 values associated with this property. The HasMultipleValues property + indicates if this property will be returning more than one value. """ pass - @property - def isMaximumValueInclusive(self) -> bool: + +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() + def promote(self, byDefault: bool = False, positionID: str = "", isBefore: bool = True) -> 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. + Promote the command to the parent panel and optionally position it relative to an already- + promoted control. + byDefault : If true, then the control will be promoted in the panel by default if the UI is reset. If + false, then the promotion is cleared on reset. + positionID : If provided, then when this control is promoted, it will be positioned in the panel relative + to the already-promoted control with this ID. + isBefore : If a positionID is provided, then this specifies whether the promoted control is placed before + or after the control referenced by the positionID parameter. + True if this control was successfully promoted or was already promoted. False if promotion + failed, which may happen if the control is not in a panel. """ return bool() - @isMaximumValueInclusive.setter - def isMaximumValueInclusive(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. - """ - pass @property - def manipulatorOrigin(self) -> Point3D: + def commandDefinition(self) -> CommandDefinition: """ - 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 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 manipulatorXDirection(self) -> Vector3D: + def isPromoted(self) -> bool: """ - 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. + 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. - To set the direction use the setManipulator method. + The promote method provides more options over how the control is promoted. """ - return Vector3D() - @property - def manipulatorYDirection(self) -> Vector3D: + return bool() + @isPromoted.setter + def isPromoted(self, value: 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. + 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. - To set the direction use the setManipulator method. + The promote method provides more options over how the control is promoted. """ - return Vector3D() + pass @property - def isValidExpression(self) -> bool: + def isPromotedByDefault(self) -> bool: """ - 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 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. + + The promote method provides more options over how the control is promoted. """ 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. + + The promote method provides more options over how the control is promoted. + """ + pass -class AppearanceTextureProperty(Property): +class CommandCreatedEvent(Event): """ - A texture value property associated with a material or appearance. + Class that needs to be implemented in order to respond to the CommandCreatedEvent event. """ def __init__(self): pass @staticmethod - def cast(arg) -> AppearanceTextureProperty: - return AppearanceTextureProperty() - @property - def value(self) -> AppearanceTexture: + def cast(arg) -> CommandCreatedEvent: + return CommandCreatedEvent() + def add(self, handler: CommandCreatedEventHandler) -> bool: """ - Gets and sets this property value. + 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 AppearanceTexture() - @value.setter - def value(self, value: AppearanceTexture): + return bool() + def remove(self, handler: CommandCreatedEventHandler) -> bool: """ - Gets and sets this property value. + 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 isUsed(self) -> bool: + def command(self) -> Command: """ - 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 the newly created Command object that allows you to perform an action in response to the control being clicked. """ - return bool() + return Command() -class ApplicationCommandEvent(Event): +class CommandEvent(Event): """ - An event endpoint that supports the connection to ApplicationCommandEventHandlers. + An event endpoint that supports the connection to client implemented CommandEventHandlers. """ def __init__(self): pass @staticmethod - def cast(arg) -> ApplicationCommandEvent: - return ApplicationCommandEvent() - def add(self, handler: ApplicationCommandEventHandler) -> bool: + def cast(arg) -> CommandEvent: + return CommandEvent() + def add(self, handler: CommandEventHandler) -> bool: """ Adds an event handler object to this event endpoint. - handler : The ApplicationCommandEventHandler to be called when this event is triggered. + 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() - def remove(self, handler: ApplicationCommandEventHandler) -> bool: + def remove(self, handler: CommandEventHandler) -> bool: """ Removes a handler from this event endpoint. - handler : An ApplicationCommandEventHandler that was previously added to this event with the add method. + 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. """ return bool() -class ApplicationCommandEventArgs(EventArgs): +class CommandEventArgs(EventArgs): """ - Provides a set of arguments from a firing ApplicationCommandEvent to an ApplicationCommandEventHandler's - notify callback method. + Provides a set of arguments from a firing CommandEvent to a CommandEventHandler's notify callback method. """ 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() + def cast(arg) -> CommandEventArgs: + return CommandEventArgs() @property - def commandId(self) -> str: + def command(self) -> Command: """ - Returns the unique id of the command the event if being fired for. + Gets the Command object. """ - return str() + return Command() @property - def isCanceled(self) -> bool: + def executeFailed(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. + 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() - @isCanceled.setter - def isCanceled(self, value: bool): + @executeFailed.setter + def executeFailed(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. + 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 terminationReason(self) -> CommandTerminationReason: - """ - Returns the reason the command is being terminated. - This property should be ignored for all events besides the commandTerminated event. - """ - return CommandTerminationReason() - -class ApplicationEvent(Event): - """ - An ApplicationEvent represents a Fusion 360 application related event. For example, startupCompleted or OnlineStatusChanged - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> ApplicationEvent: - return ApplicationEvent() - def add(self, handler: ApplicationEventHandler) -> bool: + def executeFailedMessage(self) -> str: """ - 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. + 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 bool() - def remove(self, handler: ApplicationEventHandler) -> bool: + return str() + @executeFailedMessage.setter + def executeFailedMessage(self, value: str): """ - 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. + 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 bool() - -class ApplicationEventArgs(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) -> ApplicationEventArgs: - return ApplicationEventArgs() @property - def isOffLine(self) -> bool: + def isValidResult(self) -> bool: """ - Gets and sets if Fusion 360 is offline or not. + 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() - @isOffLine.setter - def isOffLine(self, value: bool): + @isValidResult.setter + def isValidResult(self, value: bool): """ - Gets and sets if Fusion 360 is offline or not. + 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. """ pass @property - def hasInternetAccess(self) -> bool: + def terminationReason(self) -> CommandTerminationReason: """ - Gets if the client computer has access to the Internet. + Gets the termination reason of the command. It's only valid on the destroy event. """ - return bool() + return CommandTerminationReason() -class Arc2D(Curve2D): +class Cone(Surface): """ - 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 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) -> Arc2D: - return Arc2D() + def cast(arg) -> Cone: + return Cone() @staticmethod - def createByCenter(center: Point2D, radius: float, startAngle: float, endAngle: float, isClockwise: bool) -> Arc2D: + def create(origin: Point3D, axis: Vector3D, radius: float, halfAngle: float) -> Cone: + """ + 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. """ - 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. + return Cone() + def getData(self) -> tuple[bool, Point3D, Vector3D, float, float]: """ - return Arc2D() - @staticmethod - def createByThreePoints(startPoint: Point2D, point: Point2D, endPoint: Point2D) -> Arc2D: + 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. """ - 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. + return (bool(), Point3D(), Vector3D(), float(), float()) + def set(self, origin: Point3D, axis: Vector3D, radius: float, halfAngle: float) -> bool: """ - return Arc2D() - def copy(self) -> Arc2D: + 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. """ - Creates and returns an independent copy of this Arc2D object. - Returns a new Arc2D object that is a copy of this Arc2D object. + return bool() + def copy(self) -> Cone: """ - return Arc2D() - def getData(self) -> tuple[bool, Point2D, float, float, float, bool]: + Creates and returns an independent copy of this Cone object. + Returns a new Cone object that is a copy of this Cone object. """ - 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 Cone() + @property + def origin(self) -> Point3D: """ - return (bool(), Point2D(), float(), float(), float(), bool()) - def set(self, center: Point2D, radius: float, startAngle: float, endAngle: float, isClockwise: bool) -> bool: + Gets and sets the origin point (center) of the base of the cone. """ - 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 Point3D() + @origin.setter + def origin(self, value: Point3D): """ - return bool() + Gets and sets the origin point (center) of the base of the cone. + """ + pass @property - def center(self) -> Point2D: + def axis(self) -> Vector3D: """ - Gets and sets the center position of the arc. + Gets and sets the center axis (along the length) of the cone 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 arc. + Gets and sets the center axis (along the length) of the cone that defines its + normal direction. """ pass @property def radius(self) -> float: """ - Gets and sets the radius of the arc. + Gets and sets the radius of the cone. """ return float() @radius.setter def radius(self, value: float): """ - Gets and sets the radius of the arc. + Gets and sets the radius of the cone. """ pass @property - def startAngle(self) -> float: + def halfAngle(self) -> float: """ - Gets and sets the start angle of the arc in radians, where 0 is along the x axis. + 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() - @startAngle.setter - def startAngle(self, value: float): + @halfAngle.setter + def halfAngle(self, value: float): """ - Gets and sets the start angle of the arc in radians, where 0 is along the x axis. + 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. """ pass + +class CopyDesignFileInput(CopyFileInput): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Input object that defines the various settings that apply when copying a design file, + including whether associated drawings and/or references external components are also + copied. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CopyDesignFileInput: + return CopyDesignFileInput() @property - def endAngle(self) -> float: + def isCopyDrawings(self) -> bool: """ - Gets and sets the end angle of the arc in radians, where 0 is along the x axis. + Gets and sets if any drawings associated with the design should also be copied. """ - return float() - @endAngle.setter - def endAngle(self, value: float): + return bool() + @isCopyDrawings.setter + def isCopyDrawings(self, value: bool): """ - Gets and sets the end angle of the arc in radians, where 0 is along the x axis. + Gets and sets if any drawings associated with the design should also be copied. """ pass @property - def isClockwise(self) -> bool: + def isCopyReferencedExternalComponents(self) -> bool: """ - Specifies if the sweep direction of the arc is clockwise or counterclockwise. + Gets and sets if any external reference components associated with the design should also be copied. """ return bool() - @property - def startPoint(self) -> Point2D: + @isCopyReferencedExternalComponents.setter + def isCopyReferencedExternalComponents(self, value: bool): """ - Gets the position of the start point of the arc. + Gets and sets if any external reference components associated with the design should also be copied. """ - return Point2D() - @property - def endPoint(self) -> Point2D: + 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: """ - Gets the position of the end point of the arc. + 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 Point2D() + return 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() @property - def asNurbsCurve(self) -> NurbsCurve2D: + def eventId(self) -> str: """ - Returns a NURBS curve that is geometrically identical to the arc. + Returns the id that was assigned to this event when it was registered. Each + custom event has it's own unique id. """ - return NurbsCurve2D() + return str() -class Arc3D(Curve3D): +class CustomEventArgs(EventArgs): """ - 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. + 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) -> Arc3D: - return Arc3D() - @staticmethod - def createByCenter(center: Point3D, normal: Vector3D, referenceVector: Vector3D, radius: float, startAngle: float, endAngle: float) -> Arc3D: + def cast(arg) -> CustomEventArgs: + return CustomEventArgs() + @property + def additionalInfo(self) -> str: """ - 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. + Information being passed to the add-in in the primary thread from the worker thread + or other add-in. """ - return Arc3D() + return str() + +class Cylinder(Surface): + """ + 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 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: + def cast(arg) -> Cylinder: + return Cylinder() + @staticmethod + def create(origin: Point3D, axis: Vector3D, radius: float) -> Cylinder: """ - Creates and returns an independent copy of this Arc3D object. - Returns a new Arc3D object that is a copy of this Arc3D object. + 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 Arc3D() - def getData(self) -> tuple[bool, Point3D, Vector3D, Vector3D, float, float, float]: + return Cylinder() + def getData(self) -> tuple[bool, Point3D, Vector3D, 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 + 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 (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, origin: Point3D, axis: 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. - Returns true if successful + 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 bool() + def copy(self) -> Cylinder: + """ + Creates and returns an independent copy of this Cylinder object. + Returns a new Cylinder object that is a copy of this Cylinder object. + """ + return Cylinder() @property - def center(self) -> Point3D: + def origin(self) -> Point3D: """ - Gets and sets the center position of the arc. + 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 arc. + 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 arc. + The center axis (along the length) of the cylinder that defines its normal direction. """ return Vector3D() - @property - def referenceVector(self) -> Vector3D: + @axis.setter + def axis(self, value: Vector3D): """ - Gets and sets the reference vector of the arc. + The center axis (along the length) of the cylinder that defines its normal direction. """ - return Vector3D() + pass @property def radius(self) -> float: """ - Gets and sets the radius of the arc. + The radius of the cylinder. """ return float() @radius.setter def radius(self, value: float): """ - Gets and sets the radius of the arc. + The radius of the cylinder. """ pass - @property - def startAngle(self) -> float: + +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: """ - 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. + 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 float() - @startAngle.setter - def startAngle(self, value: float): + return bool() + def remove(self, handler: DataEventHandler) -> bool: """ - 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. + 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 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 endAngle(self) -> float: - """ - 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 float() - @endAngle.setter - def endAngle(self, value: float): + def filename(self) -> str: """ - 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 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. """ - pass + return str() @property - def startPoint(self) -> Point3D: + def file(self) -> DataFile: """ - Gets the start point of the arc. + Gets the DataFile object associated with this event. If there isn't + a DataFile associated with the event, this property will return null. """ - return Point3D() + return DataFile() @property - def endPoint(self) -> Point3D: + def status(self) -> Status: """ - Gets the end point of the arc. + Returns a Status object that provides additional information about the + success or failure of the operation. """ - return Point3D() + return Status() + +class DataObjectFuture(Future): + """ + Used to check the state of getting data associated with an object where the associated data + typically exists on the cloud. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> DataObjectFuture: + return DataObjectFuture() @property - def asNurbsCurve(self) -> NurbsCurve3D: + def dataObject(self) -> DataObject: """ - Returns a NURBS curve that is geometrically identical to the arc. + Returns the DataObject when the data has become available, (state returns FinishedFutureState). + Returns null if the operation is still running or has failed. """ - return NurbsCurve3D() + return DataObject() -class BooleanProperty(Property): +class DirectionCommandInput(CommandInput): """ - A material or appearance property that is a Boolean value. + 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) -> BooleanProperty: - return BooleanProperty() + 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 value(self) -> bool: + def manipulatorOrigin(self) -> Point3D: """ - Gets and sets the value of this property. + 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() + @property + def manipulatorDirection(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. + """ + return Vector3D() + @property + def isDirectionFlipped(self) -> bool: + """ + 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 bool() - @value.setter - def value(self, value: bool): + @isDirectionFlipped.setter + def isDirectionFlipped(self, value: bool): """ - Gets and sets the value of this property. + 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 resourceFolder(self) -> str: + """ + Gets and sets the folder that contains the icon to display on the button. + The input is shown as a check box if the resource folder is set to an empty string. Icons can be defined + using either PNG or SVG files. More information about icons can be found in the user manual + topic User Interface Customization. + + """ + return str() + @resourceFolder.setter + def resourceFolder(self, value: str): + """ + Gets and sets the folder that contains the icon to display on the button. + The input is shown as a check box if the resource folder is set to an empty string. Icons can be defined + using either PNG or SVG files. More information about icons can be found in the user manual + topic User Interface Customization. + """ pass -class BoolValueCommandInput(CommandInput): +class DistanceValueCommandInput(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. + 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) -> BoolValueCommandInput: - return BoolValueCommandInput() - @property - def value(self) -> bool: + def cast(arg) -> DistanceValueCommandInput: + return DistanceValueCommandInput() + def setManipulator(self, origin: Point3D, direction: Vector3D) -> 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. + 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 bool() + @property + def value(self) -> 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 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 - def value(self, value: bool): + def value(self, value: float): """ - 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 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 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 expression(self) -> 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. + """ + 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 resourceFolder(self) -> str: + def minimumValue(self) -> float: """ - 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. + 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 str() - @resourceFolder.setter - def resourceFolder(self, value: str): + return float() + @minimumValue.setter + def minimumValue(self, value: float): """ - 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. + 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 isCheckBox(self) -> bool: + def hasMinimumValue(self) -> bool: """ - Indicates if this is being shown as a button or check box. + 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 bool() - @property - def text(self) -> 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. - """ - return str() - @text.setter - def text(self, value: str): + @hasMinimumValue.setter + def hasMinimumValue(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. + 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 BrowserCommandInput(CommandInput): - """ - 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) -> BrowserCommandInput: - return BrowserCommandInput() - def sendInfoToHTML(self, action: str, data: str) -> bool: - """ -

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". - """ - return bool() @property - def htmlFileURL(self) -> str: + def isMinimumValueInclusive(self) -> bool: """ - Gets and sets the URL to the HTML file currently being displayed. This can be local or on the web. + 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 str() - @htmlFileURL.setter - def htmlFileURL(self, value: str): + return bool() + @isMinimumValueInclusive.setter + def isMinimumValueInclusive(self, value: bool): """ - Gets and sets the URL to the HTML file currently being displayed. This can be local or on the web. + 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 minimumHeight(self) -> int: + def maximumValue(self) -> float: """ - 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 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. """ - return int() - @minimumHeight.setter - def minimumHeight(self, value: int): + return float() + @maximumValue.setter + def maximumValue(self, value: float): """ - 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 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 maximumHeight(self) -> int: + def hasMaximumValue(self) -> bool: """ - 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 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 int() - @maximumHeight.setter - def maximumHeight(self, value: int): + return bool() + @hasMaximumValue.setter + def hasMaximumValue(self, value: bool): """ - 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 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 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 isMaximumValueInclusive(self) -> bool: """ - 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 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() - @property - def listItems(self) -> ListItems: - """ - 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. - """ - return ListItems() - @property - def selectedItem(self) -> ListItem: + @isMaximumValueInclusive.setter + def isMaximumValueInclusive(self, value: bool): """ - 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 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 ListItem() - -class CameraEvent(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. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> CameraEvent: - return CameraEvent() - def add(self, handler: CameraEventHandler) -> bool: + @property + def manipulatorOrigin(self) -> Point3D: """ - 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 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: CameraEventHandler) -> bool: + return Point3D() + @property + def manipulatorDirection(self) -> Vector3D: """ - 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 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 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() + return Vector3D() @property - def viewport(self) -> Viewport: + def isValidExpression(self) -> bool: """ - Returns the viewport that the modified camera is associated with. + 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 Viewport() + return bool() -class CheckBoxControlDefinition(ControlDefinition): +class DocumentEvent(Event): """ - 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. + A DocumentEvent represents a document related event. For example, DocumentOpening or DocumentOpened. """ def __init__(self): pass @staticmethod - def cast(arg) -> CheckBoxControlDefinition: - return CheckBoxControlDefinition() - @property - def isChecked(self) -> bool: + def cast(arg) -> DocumentEvent: + return DocumentEvent() + def add(self, handler: DocumentEventHandler) -> 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. + 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() - @isChecked.setter - def isChecked(self, value: bool): + def remove(self, handler: DocumentEventHandler) -> 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. + 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. """ - pass + return bool() -class ChoiceProperty(Property): +class DocumentEventArgs(EventArgs): """ - A material or appearance property that is a pre-defined list of choices. + 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) -> ChoiceProperty: - return ChoiceProperty() - def getChoices(self) -> tuple[bool, list[str], list[str]]: + def cast(arg) -> DocumentEventArgs: + return DocumentEventArgs() + @property + def document(self) -> Document: """ - 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. + 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 (bool(), [str()], [str()]) + return Document() @property - def value(self) -> str: + def fullPath(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. + The full path to the file. """ return str() - @value.setter - def value(self, value: str): + @property + def isOperationCancelled(self) -> bool: """ - 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. + 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 bool() + @isOperationCancelled.setter + def isOperationCancelled(self, value: bool): + """ + 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 cancelReason(self) -> str: + """ + 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 str() + @cancelReason.setter + def cancelReason(self, value: str): + """ + 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 -class Circle2D(Curve2D): +class DropDownCommandInput(CommandInput): """ - 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. + Provides a command input to get the choice in a drop-down list from the user. """ def __init__(self): pass @staticmethod - def cast(arg) -> Circle2D: - return Circle2D() - @staticmethod - def createByCenter(center: Point2D, radius: float) -> Circle2D: + def cast(arg) -> DropDownCommandInput: + return DropDownCommandInput() + @property + def dropDownStyle(self) -> DropDownStyles: """ - 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. + Returns the style of drop down this was created as. """ - return Circle2D() - @staticmethod - def createByThreePoints(pointOne: Point2D, pointTwo: Point2D, pointThree: Point2D) -> Circle2D: + return DropDownStyles() + @property + def listItems(self) -> ListItems: """ - 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. + 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 Circle2D() - def copy(self) -> Circle2D: + return ListItems() + @property + def selectedItem(self) -> ListItem: """ - Creates and returns an independent copy of this Circle2D object. - Returns an independent copy of this Circle2D object. + 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 Circle2D() - def getData(self) -> tuple[bool, Point2D, float]: + return ListItem() + @property + def maxVisibleItems(self) -> int: """ - 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. + Gets or sets the maximum allowed size on screen of the drop down list, measured in items. """ - return (bool(), Point2D(), float()) - def set(self, center: Point2D, radius: float) -> bool: + return int() + @maxVisibleItems.setter + def maxVisibleItems(self, value: int): """ - 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 + Gets or sets the maximum allowed size on screen of the drop down list, measured in items. """ - return bool() + pass + +class DropDownControl(ToolbarControl): + """ + Represents a drop-down control. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> DropDownControl: + return DropDownControl() @property - def center(self) -> Point2D: - """ - Gets and sets the center position of the circle. - """ - return Point2D() - @center.setter - def center(self, value: Point2D): + def controls(self) -> ToolbarControls: """ - Gets and sets the center position of the circle. + Gets the associated ToolbarControls collection. Through this you can add additional controls to the drop-down. """ - pass + return ToolbarControls() @property - def radius(self) -> float: + def resourceFolder(self) -> str: """ - Gets and sets the radius of the circle. + This argument defines the resource folder that contains the images used for the icon when icons are used + in the drop-down. Icons can be defined using either PNG or SVG files. More information about icons can be found + in the user manual topic User Interface Customization. + """ - 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. + This argument defines the resource folder that contains the images used for the icon when icons are used + in the drop-down. Icons can be defined using either PNG or SVG files. More information about icons can be found + in the user manual topic User Interface Customization. + """ pass @property - def asNurbsCurve(self) -> NurbsCurve2D: + def name(self) -> str: """ - Returns a NURBS curve that is geometrically identical to the circle. + 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 NurbsCurve2D() + return str() + @name.setter + def name(self, value: str): + """ + 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 Circle3D(Curve3D): +class DXF2DImportOptions(ImportOptions): """ - 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. + 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) -> Circle3D: - return Circle3D() - @staticmethod - def createByCenter(center: Point3D, normal: Vector3D, radius: float) -> Circle3D: + def cast(arg) -> DXF2DImportOptions: + return DXF2DImportOptions() + @property + def planarEntity(self) -> Base: """ - 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 and sets the construction plane or planar face that defines the plane that the resulting sketches will + be created on. """ - return Circle3D() - @staticmethod - def createByThreePoints(pointOne: Point3D, pointTwo: Point3D, pointThree: Point3D) -> Circle3D: + return Base() + @planarEntity.setter + def planarEntity(self, value: Base): """ - 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 and sets the construction plane or planar face that defines the plane that the resulting sketches will + be created on. """ - return Circle3D() - def copy(self) -> Circle3D: + pass + @property + def position(self) -> Point2D: """ - Creates and returns an independent copy of this Circle3D object. - Returns an independent copy of this Circle3D object. + 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 Circle3D() - def getData(self) -> tuple[bool, Point3D, Vector3D, float]: + return Point2D() + @position.setter + def position(self, value: Point2D): """ - 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 + 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 (bool(), Point3D(), Vector3D(), float()) - def set(self, center: Point3D, normal: Vector3D, radius: float) -> bool: + pass + @property + def results(self) -> ObjectCollection: """ - 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 + 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() + return ObjectCollection() @property - def center(self) -> Point3D: + def isSingleSketchResult(self) -> bool: """ - Gets and sets the center position of the circle. + 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 Point3D() - @center.setter - def center(self, value: Point3D): + return bool() + @isSingleSketchResult.setter + def isSingleSketchResult(self, value: bool): """ - Gets and sets the center position of the circle. + 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 normal(self) -> Vector3D: + def layers(self) -> list[str]: """ - Gets and sets the normal of the circle. + 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 Vector3D() - @normal.setter - def normal(self, value: Vector3D): + return [str()] + @layers.setter + def layers(self, value: list[str]): """ - Gets and sets the normal of the circle. + 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. """ pass @property - def radius(self) -> float: + def isCreateControlPointSplines(self) -> bool: """ - Gets and sets the radius of the circle. + 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 float() - @radius.setter - def radius(self, value: float): + return bool() + @isCreateControlPointSplines.setter + def isCreateControlPointSplines(self, value: bool): """ - Gets and sets the radius of the circle. + 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 - @property - def asNurbsCurve(self) -> NurbsCurve3D: - """ - Returns a NURBS curve that is geometrically identical to the circle. - """ - return NurbsCurve3D() -class ColorProperty(Property): +class Ellipse2D(Curve2D): """ - A color property associated with an appearance. + 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) -> ColorProperty: - return ColorProperty() - @property - def connectedTexture(self) -> AppearanceTexture: + def cast(arg) -> Ellipse2D: + return Ellipse2D() + @staticmethod + def create(center: Point2D, majorAxis: Vector2D, majorRadius: float, minorRadius: float) -> Ellipse2D: """ - 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. + 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 AppearanceTexture() - @property - def hasConnectedTexture(self) -> bool: + return Ellipse2D() + def copy(self) -> Ellipse2D: """ - 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. + Creates and returns a copy of this Ellipse2D object. + Returns a new Ellipse2D object that is a copy of this Ellipse2D object. """ - return bool() - @hasConnectedTexture.setter - def hasConnectedTexture(self, value: bool): + return Ellipse2D() + def getData(self) -> tuple[bool, Point2D, Vector2D, float, 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 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. """ - pass - @property - def hasMultipleValues(self) -> bool: + return (bool(), Point2D(), Vector2D(), float(), float()) + def set(self, center: Point2D, majorAxis: Vector2D, majorRadius: float, minorRadius: float) -> bool: """ - Indicates if this property has multiple values or not. + 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() @property - def value(self) -> Color: + def center(self) -> Point2D: """ - 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 the center position of the ellipse. """ - return Color() - @value.setter - def value(self, value: Color): + return Point2D() + @center.setter + def center(self, value: Point2D): """ - 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 the center position of the ellipse. """ pass @property - def values(self) -> list[Color]: + def majorAxis(self) -> Vector2D: """ - 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 the major axis of the ellipse. """ - return [Color()] - @values.setter - def values(self, value: list[Color]): + return Vector2D() + @majorAxis.setter + def majorAxis(self, value: Vector2D): """ - 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 the major axis of the ellipse. """ 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 commandDefinition(self) -> CommandDefinition: - """ - 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 CommandDefinition() @property - def isPromoted(self) -> bool: + def majorRadius(self) -> float: """ - 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 the major radius of the ellipse. """ - return bool() - @isPromoted.setter - def isPromoted(self, value: bool): + return float() + @majorRadius.setter + def majorRadius(self, value: float): """ - 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 the major radius of the ellipse. """ pass @property - def isPromotedByDefault(self) -> bool: + def minorRadius(self) -> float: """ - 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 the minor radius of the ellipse. """ - return bool() - @isPromotedByDefault.setter - def isPromotedByDefault(self, value: bool): + return float() + @minorRadius.setter + def minorRadius(self, value: float): """ - 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 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 CommandCreatedEvent(Event): +class Ellipse3D(Curve3D): """ - Class that needs to be implemented in order to respond to the CommandCreatedEvent event. + 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) -> CommandCreatedEvent: - return CommandCreatedEvent() - def add(self, handler: CommandCreatedEventHandler) -> bool: + def cast(arg) -> Ellipse3D: + return Ellipse3D() + @staticmethod + def create(center: Point3D, normal: Vector3D, majorAxis: Vector3D, majorRadius: float, minorRadius: float) -> Ellipse3D: """ - 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. + 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: CommandCreatedEventHandler) -> bool: + return Ellipse3D() + def copy(self) -> Ellipse3D: """ - 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. + Creates a copy of this Ellipse3D object. + Returns the independent copy of the ellipse. """ - return bool() - -class CommandCreatedEventArgs(EventArgs): - """ - Provides data for the CommandCreated event. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> CommandCreatedEventArgs: - return CommandCreatedEventArgs() - @property - def command(self) -> Command: + return Ellipse3D() + def getData(self) -> tuple[bool, Point3D, Vector3D, Vector3D, float, float]: """ - Gets the newly created Command object that allows you to perform an action in response to the control being clicked. + 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 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: + return (bool(), Point3D(), Vector3D(), Vector3D(), float(), float()) + def set(self, center: Point3D, normal: Vector3D, majorAxis: Vector3D, majorRadius: float, minorRadius: float) -> 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. + 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 bool() - def remove(self, handler: CommandEventHandler) -> bool: + @property + def center(self) -> Point3D: + """ + Gets and sets the center position of the ellipse. + """ + return Point3D() + @center.setter + def center(self, value: Point3D): """ - 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. + Gets and sets the center position of the ellipse. """ - return bool() - -class CommandEventArgs(EventArgs): - """ - Provides a set of arguments from a firing CommandEvent to a CommandEventHandler's notify callback method. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> CommandEventArgs: - return CommandEventArgs() @property - def command(self) -> Command: + def normal(self) -> Vector3D: """ - Gets the Command object. + Gets the normal of the ellipse. """ - return Command() + return Vector3D() @property - def executeFailed(self) -> bool: + def majorAxis(self) -> Vector3D: """ - 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. + Gets and sets the major axis of the ellipse. """ - return bool() - @executeFailed.setter - def executeFailed(self, value: bool): + return Vector3D() + @majorAxis.setter + def majorAxis(self, value: Vector3D): """ - 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. + Gets and sets the major axis of the ellipse. """ pass @property - def executeFailedMessage(self) -> str: + def majorRadius(self) -> float: """ - 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 the major radius of the ellipse. """ - return str() - @executeFailedMessage.setter - def executeFailedMessage(self, value: str): + return float() + @majorRadius.setter + def majorRadius(self, value: float): """ - 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 the major radius of the ellipse. """ pass @property - def isValidResult(self) -> bool: + def minorRadius(self) -> float: """ - 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 minor radius of the ellipse. """ - return bool() - @isValidResult.setter - def isValidResult(self, value: bool): + return float() + @minorRadius.setter + def minorRadius(self, value: float): """ - 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 minor radius of the ellipse. """ pass @property - def terminationReason(self) -> CommandTerminationReason: + def asNurbsCurve(self) -> NurbsCurve3D: """ - Gets the termination reason of the command. It's only valid on the destroy event. + Returns a NURBS curve that is geometrically identical to the ellipse. """ - return CommandTerminationReason() + return NurbsCurve3D() -class Cone(Surface): +class EllipticalArc2D(Curve2D): """ - 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. + 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) -> Cone: - return Cone() + def cast(arg) -> EllipticalArc2D: + return EllipticalArc2D() @staticmethod - def create(origin: Point3D, axis: Vector3D, radius: float, halfAngle: float) -> Cone: + def create(center: Point2D, majorAxis: Vector2D, majorRadius: float, minorRadius: float, startAngle: float, endAngle: float) -> EllipticalArc2D: """ - 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. + 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 Cone() - def getData(self) -> tuple[bool, Point3D, Vector3D, float, float]: + return EllipticalArc2D() + def copy(self) -> EllipticalArc2D: """ - 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. + Creates and returns a copy of this EllipticalArc2D object. + Returns a new EllipticalArc2D object that is a copy of this Arc2D object. """ - return (bool(), Point3D(), Vector3D(), float(), float()) - def set(self, origin: Point3D, axis: Vector3D, radius: float, halfAngle: float) -> bool: + return EllipticalArc2D() + def getData(self) -> tuple[bool, Point2D, Vector2D, float, float, float, float]: """ - 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 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: + """ + Sets all of the data defining the 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 true if redefining the elliptical arc is successful """ return bool() - def copy(self) -> Cone: + @property + def center(self) -> Point2D: """ - Creates and returns an independent copy of this Cone object. - Returns a new Cone object that is a copy of this Cone object. + Gets and sets the center position of the elliptical arc. """ - return Cone() + return Point2D() + @center.setter + def center(self, value: Point2D): + """ + Gets and sets the center position of the elliptical arc. + """ + pass @property - def origin(self) -> Point3D: + def majorAxis(self) -> Vector2D: """ - Gets and sets the origin point (center) of the base of the cone. + Gets and sets the major axis of the elliptical arc. """ - return Point3D() - @origin.setter - def origin(self, value: Point3D): + return Vector2D() + @majorAxis.setter + def majorAxis(self, value: Vector2D): """ - Gets and sets the origin point (center) of the base of the cone. + Gets and sets the major axis of the elliptical arc. """ pass @property - def axis(self) -> Vector3D: + def majorRadius(self) -> float: """ - Gets and sets the center axis (along the length) of the cone that defines its - normal direction. + Gets and sets the major radius of the elliptical arc. """ - return Vector3D() - @axis.setter - def axis(self, value: Vector3D): + return float() + @majorRadius.setter + def majorRadius(self, value: float): """ - Gets and sets the center axis (along the length) of the cone that defines its - normal direction. + Gets and sets the major radius of the elliptical arc. """ pass @property - def radius(self) -> float: + def minorRadius(self) -> float: """ - Gets and sets the radius of the cone. + Gets and sets the minor radius of the elliptical arc. """ return float() - @radius.setter - def radius(self, value: float): + @minorRadius.setter + def minorRadius(self, value: float): """ - Gets and sets the radius of the cone. + Gets and sets the minor radius of the elliptical arc. """ pass @property - def halfAngle(self) -> float: + def startAngle(self) -> 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. + Gets and sets the start angle of the elliptical arc in radians, where 0 is along the major axis. """ return float() - @halfAngle.setter - def halfAngle(self, value: float): + @startAngle.setter + def startAngle(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. + Gets and sets the start angle of the elliptical arc in radians, where 0 is along the major axis. """ 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): + @property + def endAngle(self) -> float: + """ + Gets and sets the end angle of the elliptical arc in radians, where 0 is along the major axis. + """ + return float() + @endAngle.setter + def endAngle(self, value: float): + """ + Gets and sets the end angle of the elliptical arc in radians, where 0 is along the major axis. + """ pass - @staticmethod - def cast(arg) -> CustomEvent: - return CustomEvent() - def add(self, handler: CustomEventHandler) -> bool: + @property + def isClockwise(self) -> 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. + Gets if the sweep direction of the elliptical arc is clockwise or counterclockwise. """ return bool() - def remove(self, handler: CustomEventHandler) -> bool: + @property + def isCircular(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 if the elliptical arc is the geometric equivalent of a circular arc """ return bool() @property - def eventId(self) -> str: + def startPoint(self) -> Point2D: """ - Returns the id that was assigned to this event when it was registered. Each - custom event has it's own unique id. + Gets the position of the start point of the elliptical arc. + """ + return Point2D() + @property + def endPoint(self) -> Point2D: """ - 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() + Gets the position of the end point of the elliptical arc. + """ + return Point2D() @property - def additionalInfo(self) -> str: + def asNurbsCurve(self) -> NurbsCurve2D: """ - Information being passed to the add-in in the primary thread from the worker thread - or other add-in. + Returns a NURBS curve that is geometrically identical to the elliptical arc. """ - return str() + return NurbsCurve2D() -class Cylinder(Surface): +class EllipticalArc3D(Curve3D): """ - 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 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) -> Cylinder: - return Cylinder() + def cast(arg) -> EllipticalArc3D: + return EllipticalArc3D() @staticmethod - def create(origin: Point3D, axis: Vector3D, radius: float) -> Cylinder: + def create(center: Point3D, normal: Vector3D, majorAxis: Vector3D, majorRadius: float, minorRadius: float, startAngle: float, endAngle: float) -> EllipticalArc3D: """ - 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 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 Cylinder() - def getData(self) -> tuple[bool, Point3D, Vector3D, float]: + return EllipticalArc3D() + def copy(self) -> EllipticalArc3D: """ - 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 EllipticalArc3D object. + Returns a new EllipticalArc3D object that is a copy of this Arc3D object. """ - return (bool(), Point3D(), Vector3D(), float()) - def set(self, origin: Point3D, axis: Vector3D, radius: float) -> bool: + return EllipticalArc3D() + def getData(self) -> tuple[bool, Point3D, Vector3D, Vector3D, float, float, 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 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 bool() - def copy(self) -> Cylinder: + 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: """ - Creates and returns an independent copy of this Cylinder object. - Returns a new Cylinder object that is a copy of this Cylinder object. + 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 Cylinder() + return bool() @property - def origin(self) -> Point3D: + def center(self) -> Point3D: """ - The origin point (center) of the base of the cylinder. + Gets and sets the center point of the elliptical arc. """ return Point3D() - @origin.setter - def origin(self, value: Point3D): + @center.setter + def center(self, value: Point3D): """ - The origin point (center) of the base of the cylinder. + Gets and sets the center point of the elliptical arc. """ pass @property - def axis(self) -> Vector3D: + def normal(self) -> Vector3D: """ - The center axis (along the length) of the cylinder that defines its normal direction. + Gets the normal of the elliptical arc. """ return Vector3D() - @axis.setter - def axis(self, value: Vector3D): + @property + def majorAxis(self) -> Vector3D: """ - The center axis (along the length) of the cylinder that defines its normal direction. + Gets and sets the major axis of the elliptical arc. + """ + return Vector3D() + @majorAxis.setter + def majorAxis(self, value: Vector3D): + """ + Gets and sets the major axis of the elliptical arc. """ pass @property - def radius(self) -> float: + def majorRadius(self) -> float: """ - The radius of the cylinder. + Gets and sets the major radius of the elliptical arc. """ return float() - @radius.setter - def radius(self, value: float): + @majorRadius.setter + def majorRadius(self, value: float): """ - The radius of the cylinder. + Gets and sets the major radius of the elliptical arc. """ pass - -class DataEvent(Event): - """ - A Data event is an event associated with operations on Data items. - """ - def __init__(self): + @property + def minorRadius(self) -> float: + """ + Gets and sets the minor radius of the elliptical arc. + """ + return float() + @minorRadius.setter + def minorRadius(self, value: float): + """ + Gets and sets the minor radius of the elliptical arc. + """ pass - @staticmethod - def cast(arg) -> DataEvent: - return DataEvent() - def add(self, handler: DataEventHandler) -> bool: + @property + def startAngle(self) -> float: """ - 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. + Gets and sets the start angle of the elliptical arc. """ - return bool() - def remove(self, handler: DataEventHandler) -> bool: + return float() + @startAngle.setter + def startAngle(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 start angle of the elliptical arc. """ - return bool() + pass + @property + def endAngle(self) -> float: + """ + Gets and sets the end angle of the elliptical arc. + """ + return float() + @endAngle.setter + def endAngle(self, value: float): + """ + Gets and sets the end angle of the elliptical arc. + """ + pass + @property + def asNurbsCurve(self) -> NurbsCurve3D: + """ + Returns a NURBS curve that is geometrically identical to the elliptical arc. + """ + return NurbsCurve3D() -class DataEventArgs(EventArgs): +class EllipticalCone(Surface): """ - The DataEventArgs provides information associated with a data event. - Note that some properties are not available on every 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. """ def __init__(self): pass @staticmethod - def cast(arg) -> DataEventArgs: - return DataEventArgs() - @property - def filename(self) -> str: + def cast(arg) -> EllipticalCone: + return EllipticalCone() + @staticmethod + def create(origin: Point3D, axis: Vector3D, majorAxisDirection: Vector3D, majorRadius: float, minorRadius: float, halfAngle: float) -> EllipticalCone: """ - 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. + 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 str() - @property - def file(self) -> DataFile: + 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: + """ + 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() + 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: + """ + 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. """ - Gets the DataFile object associated with this event. If there isn't - a DataFile associated with the event, this property will return null. + return bool() + def copy(self) -> EllipticalCone: """ - return DataFile() + Creates and returns an independent copy of this EllipticalCone object. + Returns a new EllipticalCone object that is a copy of this EllipticalCone object. + """ + return EllipticalCone() @property - def status(self) -> Status: + def origin(self) -> Point3D: """ - Returns a Status object that provides additional information about the - success or failure of the operation. + Gets and sets the origin point (center) of the base of the cone. """ - 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() + @origin.setter + def origin(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 origin point (center) of the base of the cone. """ - return bool() + pass @property - def manipulatorOrigin(self) -> Point3D: + def majorRadius(self) -> float: """ - 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 major radius of the ellipse that defines the cone. """ - return Point3D() - @property - def manipulatorDirection(self) -> Vector3D: + return float() + @majorRadius.setter + def majorRadius(self, value: float): """ - 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 radius of the ellipse that defines the cone. """ - return Vector3D() + pass @property - def isDirectionFlipped(self) -> bool: + def minorRadius(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 minor radius of the ellipse that defines the cone. """ - return bool() - @isDirectionFlipped.setter - def isDirectionFlipped(self, value: bool): + return float() + @minorRadius.setter + def minorRadius(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 minor radius of the ellipse that defines the cone. """ pass @property - def resourceFolder(self) -> str: + def halfAngle(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 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 str() - @resourceFolder.setter - def resourceFolder(self, value: str): + return float() + @halfAngle.setter + def halfAngle(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 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 -class DistanceValueCommandInput(CommandInput): +class EllipticalCylinder(Surface): """ - 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 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) -> DistanceValueCommandInput: - return DistanceValueCommandInput() - def setManipulator(self, origin: Point3D, direction: 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) 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 bool() - @property - def value(self) -> float: + def cast(arg) -> EllipticalCylinder: + return EllipticalCylinder() + @staticmethod + def create(origin: Point3D, axis: Vector3D, majorAxis: Vector3D, majorRadius: float, minorRadius: float) -> EllipticalCylinder: """ - 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 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 float() - @value.setter - def value(self, value: float): + return EllipticalCylinder() + def getData(self) -> tuple[bool, Point3D, Vector3D, Vector3D, 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 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. """ - pass - @property - def expression(self) -> str: + return (bool(), Point3D(), Vector3D(), Vector3D(), float(), float()) + def set(self, origin: Point3D, axis: Vector3D, majorAxis: Vector3D, majorRadius: float, minorRadius: float) -> bool: """ - 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. + 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 str() - @expression.setter - def expression(self, value: str): + return bool() + def copy(self) -> EllipticalCylinder: """ - 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. + Creates and returns an independent copy of this EllipticalCylinder object. + Returns a new EllipticalCylinder object that is a copy of this EllipticalCylinder object. """ - pass + return EllipticalCylinder() @property - def minimumValue(self) -> float: + def origin(self) -> Point3D: """ - 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 origin point (center) of the base of the cylinder. """ - return float() - @minimumValue.setter - def minimumValue(self, value: float): + return Point3D() + @origin.setter + def origin(self, value: Point3D): """ - 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 origin point (center) of the base of the cylinder. """ pass @property - def hasMinimumValue(self) -> bool: + def axis(self) -> Vector3D: """ - 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 set the center axis (along the length) of the cylinder that defines + its normal direction. """ - return bool() - @hasMinimumValue.setter - def hasMinimumValue(self, value: bool): + return Vector3D() + @axis.setter + def axis(self, value: Vector3D): """ - 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 set the center axis (along the length) of the cylinder that defines + its normal direction. """ pass @property - def isMinimumValueInclusive(self) -> bool: + def majorAxis(self) -> Vector3D: """ - 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 direction of the major axis of the ellipse that defines the cylinder. """ - return bool() - @isMinimumValueInclusive.setter - def isMinimumValueInclusive(self, value: bool): + return Vector3D() + @majorAxis.setter + def majorAxis(self, value: Vector3D): """ - 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 direction of the major axis of the ellipse that defines the cylinder. """ pass @property - def maximumValue(self) -> float: + def majorRadius(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 major radius of the ellipse that defines the cylinder. """ return float() - @maximumValue.setter - def maximumValue(self, value: float): + @majorRadius.setter + def majorRadius(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 major radius of the ellipse that defines the cylinder. """ pass @property - def hasMaximumValue(self) -> bool: + def minorRadius(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 minor radius of the ellipse that defines the cylinder. """ - return bool() - @hasMaximumValue.setter - def hasMaximumValue(self, value: bool): + return float() + @minorRadius.setter + def minorRadius(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 minor radius of the ellipse that defines the cylinder. """ pass + +class FilenameProperty(Property): + """ + A property that defines a filename. + + This is most commonly used for properties associated with materials and appearances. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> FilenameProperty: + return FilenameProperty() @property - def isMaximumValueInclusive(self) -> bool: + def hasMultipleValues(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. + Gets the boolean flag that indicates if this property has multiple values or not. """ return bool() - @isMaximumValueInclusive.setter - def isMaximumValueInclusive(self, value: bool): + @property + def value(self) -> str: """ - 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. + Gets and sets the value of this property. """ - pass - @property - def manipulatorOrigin(self) -> Point3D: + return str() + @value.setter + def value(self, value: 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 value of this property. """ - return Point3D() + pass @property - def manipulatorDirection(self) -> Vector3D: + def values(self) -> list[str]: """ - Gets the positive direction of the manipulator in the model space or the root component. - To set the direction use the setManipulator method. + Gets and sets the values associated with this property. HasMultipleValues + property indicates if this property will be returning more than one value. """ - return Vector3D() - @property - def isValidExpression(self) -> bool: + return [str()] + @values.setter + def values(self, value: list[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 the values associated with this property. HasMultipleValues + property indicates if this property will be returning more than one value. """ - return bool() + pass -class DocumentEvent(Event): +class FloatProperty(Property): """ - A DocumentEvent represents a document related event. For example, DocumentOpening or DocumentOpened. + A float or real value property. """ def __init__(self): pass @staticmethod - def cast(arg) -> DocumentEvent: - return DocumentEvent() - def add(self, handler: DocumentEventHandler) -> bool: + def cast(arg) -> FloatProperty: + return FloatProperty() + def getLimits(self) -> tuple[bool, bool, float, bool, float]: """ - 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. + 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. + + This is most commonly used for properties associated with materials and appearances. + 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 bool() - def remove(self, handler: DocumentEventHandler) -> bool: + return (bool(), bool(), float(), bool(), float()) + @property + def hasConnectedTexture(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. + When the property is associated with an appearance this 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. + For properties not associated with an appearance, this acts as read-only and always returns false. """ 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): + @hasConnectedTexture.setter + def hasConnectedTexture(self, value: bool): + """ + When the property is associated with an appearance this 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. + For properties not associated with an appearance, this acts as read-only and always returns false. + """ pass - @staticmethod - def cast(arg) -> DocumentEventArgs: - return DocumentEventArgs() @property - def document(self) -> Document: + def connectedTexture(self) -> AppearanceTexture: """ - 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. + When the property is associated with an appearance, this 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 null. """ - return Document() + return AppearanceTexture() @property - def fullPath(self) -> str: + def hasLimits(self) -> bool: """ - The full path to the file. + 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. + + This is most commonly used for properties associated with materials and appearances and in most cases will return false. """ - 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() + return bool() @property - def dropDownStyle(self) -> DropDownStyles: + def hasMultipleValues(self) -> bool: """ - Returns the style of drop down this was created as. + Gets the boolean flag that indicates if this property has multiple values or not. + + This is most commonly used for properties associated with materials and appearances. """ - return DropDownStyles() + return bool() @property - def listItems(self) -> ListItems: + def isPercentage(self) -> bool: """ - 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 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. + + This is most commonly used for properties associated with materials and appearances. """ - return ListItems() + return bool() @property - def selectedItem(self) -> ListItem: + def units(self) -> str: """ - 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. + Gets the units that the value of this property is returned in. The String returned is a + valid Fusion unit string. An empty string indicates a unitless value. """ - return ListItem() + return str() @property - def maxVisibleItems(self) -> int: + def value(self) -> float: """ - Gets or sets the maximum allowed size on screen of the drop down list, measured in items. + 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 int() - @maxVisibleItems.setter - def maxVisibleItems(self, value: int): + return float() + @value.setter + def value(self, value: float): """ - Gets or sets the maximum allowed size on screen of the drop down list, measured in items. + 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[float]: + """ + Gets and sets the values associated with this property. HasMultipleValues property + indicates if this property will be returning more than one value. + + This is most commonly used for properties associated with materials and appearances. + """ + return [float()] + @values.setter + def values(self, value: list[float]): + """ + Gets and sets the values associated with this property. HasMultipleValues property + indicates if this property will be returning more than one value. + + This is most commonly used for properties associated with materials and appearances. """ pass -class DropDownControl(ToolbarControl): +class FloatSpinnerCommandInput(CommandInput): """ - Represents a drop-down control. + 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) -> DropDownControl: - return DropDownControl() + def cast(arg) -> FloatSpinnerCommandInput: + return FloatSpinnerCommandInput() + @property + def value(self) -> float: + """ + 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 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 + def value(self, value: float): + """ + 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 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 unitType(self) -> str: + """ + Gets the unit type that is used when evaluating the user's input. + """ + return str() + @property + def minimumValue(self) -> float: + """ + Gets the minimum allowed value of the spinner in database units. + """ + return float() + @property + def maximumValue(self) -> float: + """ + Gets the maximum allowed value of the spinner in database units. + """ + return float() @property - def controls(self) -> ToolbarControls: + def spinStep(self) -> float: """ - Gets the associated ToolbarControls collection. Through this you can add additional controls to the drop-down. + 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. """ - return ToolbarControls() + return float() @property - def resourceFolder(self) -> str: + def expression(self) -> str: """ - Gets or sets the resource folder containing the image used for the icon when the drop-down is in a toolbar. + 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() - @resourceFolder.setter - def resourceFolder(self, value: str): + @expression.setter + def expression(self, value: str): """ - Gets or sets the resource folder containing the image used for the icon when the drop-down is in a toolbar. + 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 name(self) -> str: - """ - 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 str() - @name.setter - def name(self, value: str): + def isValidExpression(self) -> bool: """ - 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. + 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 Archive import is to be done and specifies the various options. + """ + def __init__(self): pass + @staticmethod + def cast(arg) -> FusionArchiveImportOptions: + return FusionArchiveImportOptions() -class DXF2DImportOptions(ImportOptions): +class GroupCommandInput(CommandInput): """ - 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. + 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) -> DXF2DImportOptions: - return DXF2DImportOptions() + def cast(arg) -> GroupCommandInput: + return GroupCommandInput() @property - def planarEntity(self) -> Base: - """ - Gets and sets the construction plane or planar face that defines the plane that the resulting sketches will - be created on. - """ - return Base() - @planarEntity.setter - def planarEntity(self, value: Base): + def children(self) -> CommandInputs: """ - Gets and sets the construction plane or planar face that defines the plane that the resulting sketches will - be created on. + 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. """ - pass + return CommandInputs() @property - def position(self) -> Point2D: + def isExpanded(self) -> bool: """ - 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 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() - @position.setter - def position(self, value: Point2D): + return bool() + @isExpanded.setter + def isExpanded(self, value: bool): """ - 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 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 results(self) -> ObjectCollection: + def isEnabledCheckBoxDisplayed(self) -> bool: """ - 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 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 ObjectCollection() + 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 isSingleSketchResult(self) -> bool: + def isEnabledCheckBoxChecked(self) -> 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. + Gets or sets if the enabled check-box is checked or not. This is only + valid when the isEnabledCheckBoxDisplayed property is true. """ return bool() - @isSingleSketchResult.setter - def isSingleSketchResult(self, value: bool): + @isEnabledCheckBoxChecked.setter + def isEnabledCheckBoxChecked(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. + Gets or sets if the enabled check-box is checked or not. This is only + valid when the isEnabledCheckBoxDisplayed property is true. """ pass -class Ellipse2D(Curve2D): +class HTMLEvent(Event): """ - 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. + A HTMLEvent is fired when triggered from JavaScript code associated with HTML used + in a palette. """ def __init__(self): pass @staticmethod - def cast(arg) -> Ellipse2D: - return Ellipse2D() - @staticmethod - def create(center: Point2D, majorAxis: Vector2D, majorRadius: float, minorRadius: float) -> Ellipse2D: + def cast(arg) -> HTMLEvent: + return HTMLEvent() + def add(self, handler: HTMLEventHandler) -> bool: """ - 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. + 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 Ellipse2D() - def copy(self) -> Ellipse2D: + return bool() + def remove(self, handler: HTMLEventHandler) -> bool: """ - Creates and returns a copy of this Ellipse2D object. - Returns a new Ellipse2D object that is a copy of this Ellipse2D 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 Ellipse2D() - def getData(self) -> tuple[bool, Point2D, Vector2D, 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 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. + 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(), Point2D(), Vector2D(), float(), float()) - def set(self, center: Point2D, majorAxis: Vector2D, majorRadius: float, minorRadius: float) -> bool: + return str() + @property + def data(self) -> str: """ - 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. + 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) -> Point2D: + def returnData(self) -> str: """ - Gets and sets the center position of the ellipse. + Set this property to return data back to the JavaScript that's associated with the HTML. """ - return Point2D() - @center.setter - def center(self, value: Point2D): + return str() + @returnData.setter + def returnData(self, value: str): """ - Gets and sets the center position of the ellipse. + Set this property to return data back to the JavaScript that's associated with the HTML. """ pass @property - def majorAxis(self) -> Vector2D: + def browserCommandInput(self) -> BrowserCommandInput: """ - Gets and sets the major axis of the ellipse. + 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 Vector2D() - @majorAxis.setter - def majorAxis(self, value: Vector2D): + return BrowserCommandInput() + +class HttpEvent(Event): + """ + A HttpEvent represents an event that occurs in reaction to a http request. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> HttpEvent: + return HttpEvent() + def add(self, handler: HttpEventHandler) -> bool: """ - Gets and sets the major axis of the ellipse. + 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: HttpEventHandler) -> 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 HttpEventArgs(EventArgs): + """ + The HttpEventArgs provides information associated with a http request. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> HttpEventArgs: + return HttpEventArgs() + @property + def response(self) -> HttpResponse: + """ + Returns the response from an http request. """ + return HttpResponse() + +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 majorRadius(self) -> float: + def imageFile(self) -> str: """ - Gets and sets the major radius of the ellipse. + 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 float() - @majorRadius.setter - def majorRadius(self, value: float): + return str() + @imageFile.setter + def imageFile(self, value: str): """ - Gets and sets the major radius of the ellipse. + 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 minorRadius(self) -> float: + def scaleFactor(self) -> float: """ - Gets and sets the minor radius of the ellipse. + Gets and sets the scale of the image. This defaults to 1.0, which is full-scale. """ return float() - @minorRadius.setter - def minorRadius(self, value: float): + @scaleFactor.setter + def scaleFactor(self, value: float): """ - Gets and sets the minor radius of the ellipse. + Gets and sets the scale of the image. This defaults to 1.0, which is full-scale. """ pass - @property - def asNurbsCurve(self) -> NurbsCurve2D: - """ - Returns a NURBS curve that is geometrically identical to the ellipse. - """ - return NurbsCurve2D() -class Ellipse3D(Curve3D): +class InfiniteLine3D(Curve3D): """ - 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 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) -> Ellipse3D: - return Ellipse3D() + def cast(arg) -> InfiniteLine3D: + return InfiniteLine3D() @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: - """ - Creates a copy of this Ellipse3D object. - Returns the independent copy of the ellipse. - """ - return Ellipse3D() - def getData(self) -> tuple[bool, Point3D, Vector3D, Vector3D, float, float]: + def create(origin: Point3D, direction: Vector3D) -> InfiniteLine3D: """ - 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. + 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 (bool(), Point3D(), Vector3D(), Vector3D(), float(), float()) - def set(self, center: Point3D, normal: Vector3D, majorAxis: Vector3D, majorRadius: float, minorRadius: float) -> bool: + return InfiniteLine3D() + def isColinearTo(self, line: InfiniteLine3D) -> 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. - Returns true if successful. + 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 bool() - @property - def center(self) -> Point3D: + def copy(self) -> InfiniteLine3D: """ - Gets and sets the center position of the ellipse. + Creates and returns a copy of this line object. + Returns an independent copy of this line object. """ - return Point3D() - @center.setter - def center(self, value: Point3D): + return InfiniteLine3D() + def intersectWithCurve(self, curve: Curve3D) -> ObjectCollection: """ - Gets and sets the center position of the ellipse. + 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 normal(self) -> Vector3D: + return ObjectCollection() + def intersectWithSurface(self, surface: Surface) -> ObjectCollection: """ - Gets and sets the normal of the ellipse. + 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 Vector3D() - @property - def majorAxis(self) -> Vector3D: + return ObjectCollection() + def getData(self) -> tuple[bool, Point3D, Vector3D]: """ - Gets and sets the major axis of the ellipse. + 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. """ - return Vector3D() - @majorAxis.setter - def majorAxis(self, value: Vector3D): + return (bool(), Point3D(), Vector3D()) + def set(self, origin: Point3D, direction: Vector3D) -> bool: """ - Gets and sets the major axis of the ellipse. + 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. """ - pass + return bool() @property - def majorRadius(self) -> float: + def origin(self) -> Point3D: """ - Gets and sets the major radius of the ellipse. + Gets and sets the origin point of the line. """ - return float() - @majorRadius.setter - def majorRadius(self, value: float): + return Point3D() + @origin.setter + def origin(self, value: Point3D): """ - Gets and sets the major radius of the ellipse. + Gets and sets the origin point of the line. """ pass @property - def minorRadius(self) -> float: + def direction(self) -> Vector3D: """ - Gets and sets the minor radius of the ellipse. + Gets and sets the direction of the line. """ - return float() - @minorRadius.setter - def minorRadius(self, value: float): + return Vector3D() + @direction.setter + def direction(self, value: Vector3D): """ - Gets and sets the minor radius of the ellipse. + Gets and sets the direction of the line. """ pass - @property - def asNurbsCurve(self) -> NurbsCurve3D: - """ - Returns a NURBS curve that is geometrically identical to the ellipse. - """ - return NurbsCurve3D() -class EllipticalArc2D(Curve2D): +class InputChangedEvent(Event): """ - 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. + An event endpoint that supports the connection to client implemented InputChangedEventHandlers. """ 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: - """ - 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 EllipticalArc2D() - def copy(self) -> EllipticalArc2D: - """ - Creates and returns a copy of this EllipticalArc2D object. - Returns a new EllipticalArc2D object that is a copy of this Arc2D object. - """ - return EllipticalArc2D() - def getData(self) -> tuple[bool, Point2D, Vector2D, float, float, float, float]: - """ - 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: + def cast(arg) -> InputChangedEvent: + return InputChangedEvent() + def add(self, handler: InputChangedEventHandler) -> 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 + 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() - @property - def center(self) -> Point2D: - """ - Gets and sets the center position of the elliptical arc. - """ - return Point2D() - @center.setter - def center(self, value: Point2D): - """ - Gets and sets the center position of the elliptical arc. - """ - pass - @property - def majorAxis(self) -> Vector2D: - """ - Gets and sets the major axis of the elliptical arc. - """ - return Vector2D() - @majorAxis.setter - def majorAxis(self, value: Vector2D): + def remove(self, handler: InputChangedEventHandler) -> bool: """ - Gets and sets the major axis of the elliptical arc. + 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() + +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 majorRadius(self) -> float: + def input(self) -> CommandInput: """ - Gets and sets the major radius of the elliptical arc. + Returns the command input that has just changed. """ - return float() - @majorRadius.setter - def majorRadius(self, value: float): + return CommandInput() + @property + def inputs(self) -> CommandInputs: """ - Gets and sets the major radius of the elliptical arc. + Returns the collection of command inputs that are associated with the command this event is being fired for. """ + return CommandInputs() + +class IntegerProperty(Property): + """ + An integer value property. + """ + def __init__(self): pass + @staticmethod + def cast(arg) -> IntegerProperty: + return IntegerProperty() + def getLimits(self) -> tuple[bool, bool, int, bool, int]: + """ + 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. + + This is most commonly used for properties associated with materials and appearances. + 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 (bool(), bool(), int(), bool(), int()) @property - def minorRadius(self) -> float: + def hasLimits(self) -> bool: """ - Gets and sets the minor radius of the elliptical arc. + 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. + + This is most commonly used for properties associated with materials and appearances. """ - return float() - @minorRadius.setter - def minorRadius(self, value: float): + return bool() + @property + def hasMultipleValues(self) -> bool: """ - Gets and sets the minor radius of the elliptical arc. + Gets the boolean flag that indicates if this property has multiple values or not. + + This is most commonly used for properties associated with materials and appearances. """ - pass + return bool() @property - def startAngle(self) -> float: + def value(self) -> int: """ - Gets and sets the start angle of the elliptical arc in radians, where 0 is along the major axis. + 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() - @startAngle.setter - def startAngle(self, value: float): + return int() + @value.setter + def value(self, value: int): """ - Gets and sets the start angle of the elliptical arc in radians, where 0 is along the major axis. + 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 endAngle(self) -> float: + def values(self) -> list[int]: """ - Gets and sets the end angle of the elliptical arc in radians, where 0 is along the major axis. + Gets and sets the values associated with this property. HasMultipleValues property + indicates if this property will be returning more than one value. + + This is most commonly used for properties associated with materials and appearances. """ - return float() - @endAngle.setter - def endAngle(self, value: float): + return [int()] + @values.setter + def values(self, value: list[int]): """ - Gets and sets the end angle of the elliptical arc in radians, where 0 is along the major axis. + Gets and sets the values associated with this property. HasMultipleValues property + indicates if this property will be returning more than one value. + + This is most commonly used for properties associated with materials and appearances. """ 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() @property - def isClockwise(self) -> bool: + def value(self) -> int: """ - Indicates if the sweep direction of the elliptical arc is clockwise or counterclockwise. + Gets and sets the value associated with this input. """ - return bool() - @property - def isCircular(self) -> bool: + return int() + @value.setter + def value(self, value: int): """ - Indicates if the elliptical arc is the geometric equivalent of a circular arc + Gets and sets the value associated with this input. """ - return bool() + pass @property - def startPoint(self) -> Point2D: + def minimumValue(self) -> int: """ - Gets the position of the start point of the elliptical arc. + Gets the minimum allowed value of the spinner. """ - return Point2D() + return int() @property - def endPoint(self) -> Point2D: + def maximumValue(self) -> int: """ - Gets the position of the end point of the elliptical arc. + Gets the maximum allowed value of the spinner. """ - return Point2D() + return int() @property - def asNurbsCurve(self) -> NurbsCurve2D: + def spinStep(self) -> int: """ - Returns a NURBS curve that is geometrically identical to the elliptical arc. + 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 NurbsCurve2D() + return int() -class EllipticalArc3D(Curve3D): +class KeyboardEvent(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. + An event endpoint that supports the connection to client implemented KeyboardEventHandlers. """ 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: - """ - 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 EllipticalArc3D() - def copy(self) -> EllipticalArc3D: - """ - Creates and returns a copy of this EllipticalArc3D object. - Returns a new EllipticalArc3D object that is a copy of this Arc3D object. - """ - return EllipticalArc3D() - def getData(self) -> tuple[bool, Point3D, Vector3D, Vector3D, float, float, float, float]: - """ - 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 (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: + def cast(arg) -> KeyboardEvent: + return KeyboardEvent() + def add(self, handler: KeyboardEventHandler) -> bool: """ - 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. + 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 bool() - @property - def center(self) -> Point3D: - """ - Gets and sets the center point of the elliptical arc. - """ - return Point3D() - @center.setter - def center(self, value: Point3D): + def remove(self, handler: KeyboardEventHandler) -> bool: """ - Gets and sets the center point of the elliptical arc. + 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 normal(self) -> Vector3D: + def modifierMask(self) -> int: """ - Gets and sets the normal of the elliptical arc. + Gets the set of keyboard modifiers that were active. The value is the Boolean + combination of KeyboardModifiers values. """ - return Vector3D() + return int() @property - def majorAxis(self) -> Vector3D: - """ - Gets and sets the major axis of the elliptical arc. - """ - return Vector3D() - @majorAxis.setter - def majorAxis(self, value: Vector3D): + def keyCode(self) -> KeyCodes: """ - Gets and sets the major axis of the elliptical arc. + Gets the keyboard key. """ + 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 - @property - def majorRadius(self) -> float: + @staticmethod + def cast(arg) -> Line2D: + return Line2D() + @staticmethod + def create(startPoint: Point2D, endPoint: Point2D) -> Line2D: """ - Gets and sets the major radius of the elliptical arc. + 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. """ - return float() - @majorRadius.setter - def majorRadius(self, value: float): + return Line2D() + def copy(self) -> Line2D: """ - Gets and sets the major radius of the elliptical arc. + Creates and returns a copy of this line object. + Returns an independent copy of this line object. """ - pass - @property - def minorRadius(self) -> float: + return Line2D() + def getData(self) -> tuple[bool, Point2D, Point2D]: """ - Gets and sets the minor radius of the elliptical arc. + 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 float() - @minorRadius.setter - def minorRadius(self, value: float): + return (bool(), Point2D(), Point2D()) + def set(self, startPoint: Point2D, endPoint: Point2D) -> bool: """ - Gets and sets the minor radius of the elliptical arc. + 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 """ - pass + return bool() @property - def startAngle(self) -> float: + def startPoint(self) -> Point2D: """ - Gets and sets the start angle of the elliptical arc. + Gets and sets the start point of the line. """ - return float() - @startAngle.setter - def startAngle(self, value: float): + return Point2D() + @startPoint.setter + def startPoint(self, value: Point2D): """ - Gets and sets the start angle of the elliptical arc. + Gets and sets the start point of the line. """ pass @property - def endAngle(self) -> float: + def endPoint(self) -> Point2D: """ - Gets and sets the end angle of the elliptical arc. + Gets and sets the end point of the line. """ - return float() - @endAngle.setter - def endAngle(self, value: float): + return Point2D() + @endPoint.setter + def endPoint(self, value: Point2D): """ - Gets and sets the end angle of the elliptical arc. + Gets and sets the end point of the line. """ pass @property - def asNurbsCurve(self) -> NurbsCurve3D: + def asNurbsCurve(self) -> NurbsCurve2D: """ - Returns a NURBS curve that is geometrically identical to the elliptical arc. + Returns a NURBS curve that is geometrically identical to the line. """ - return NurbsCurve3D() + return NurbsCurve2D() -class EllipticalCone(Surface): +class Line3D(Curve3D): """ - 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. + 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) -> EllipticalCone: - return EllipticalCone() + def cast(arg) -> Line3D: + return Line3D() @staticmethod - def create(origin: Point3D, axis: Vector3D, majorAxisDirection: Vector3D, majorRadius: float, minorRadius: float, halfAngle: float) -> EllipticalCone: + def create(startPoint: Point3D, endPoint: Point3D) -> Line3D: """ - 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. + 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 EllipticalCone() - def getAxes(self) -> tuple[Vector3D, Vector3D]: + return Line3D() + def copy(self) -> Line3D: """ - 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. + Creates and returns a copy of this line object. + Returns an independent copy of this line object. """ - return (Vector3D(), Vector3D()) - def setAxes(self, axis: Vector3D, majorAxisDirection: Vector3D) -> bool: + return Line3D() + def asInfiniteLine(self) -> InfiniteLine3D: """ - 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. + Creates an equivalent InfiniteLine3D. + Returns an equivalent InfiniteLine3D + """ + return InfiniteLine3D() + def isColinearTo(self, line: Line3D) -> 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 """ return bool() - def getData(self) -> tuple[bool, Point3D, Vector3D, Vector3D, float, float, float]: + def intersectWithCurve(self, curve: Curve3D) -> ObjectCollection: """ - 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. + 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 ObjectCollection() + def intersectWithSurface(self, surface: Surface) -> ObjectCollection: + """ + 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 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(), Vector3D(), Vector3D(), float(), float(), float()) - def set(self, origin: Point3D, axis: Vector3D, majorAxisDirection: Vector3D, majorRadius: float, minorRadius: float, halfAngle: float) -> bool: + return (bool(), Point3D(), Point3D()) + def set(self, startPoint: Point3D, endPoint: Point3D) -> 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. + 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 bool() - def copy(self) -> EllipticalCone: + @property + def startPoint(self) -> Point3D: """ - Creates and returns an independent copy of this EllipticalCone object. - Returns a new EllipticalCone object that is a copy of this EllipticalCone object. + Gets and sets the start point of the line. """ - return EllipticalCone() + return Point3D() + @startPoint.setter + def startPoint(self, value: Point3D): + """ + Gets and sets the start point of the line. + """ + pass @property - def origin(self) -> Point3D: + def endPoint(self) -> Point3D: """ - Gets and sets the origin point (center) of the base of the cone. + Gets and sets the end point of the line. """ return Point3D() - @origin.setter - def origin(self, value: Point3D): + @endPoint.setter + def endPoint(self, value: Point3D): """ - Gets and sets the origin point (center) of the base of the cone. + Gets and sets the end point of the line. """ pass @property - def majorRadius(self) -> float: + def asNurbsCurve(self) -> NurbsCurve3D: """ - Gets and sets the major radius of the ellipse that defines the cone. + Returns a NURBS curve that is geometrically identical to the line. """ - return float() - @majorRadius.setter - def majorRadius(self, value: float): + return NurbsCurve3D() + +class ListControlDefinition(ControlDefinition): + """ + 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) -> ListControlDefinition: + return ListControlDefinition() + @property + def listItems(self) -> ListItems: """ - Gets and sets the major radius of the ellipse that defines the cone. + Gets the associated ListControlItems collection through which you can add and modify items in the list. """ - pass + return ListItems() @property - def minorRadius(self) -> float: + def listControlDisplayType(self) -> ListControlDisplayTypes: """ - Gets and sets the minor radius of the ellipse that defines the cone. + Gets how this list control will be displayed; as a standard list, a list of check boxes, or a list of radio buttons. """ - return float() - @minorRadius.setter - def minorRadius(self, value: float): + return ListControlDisplayTypes() + @property + def lastSelected(self) -> ListItem: """ - Gets and sets the minor radius of the ellipse that defines the cone. + 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 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: + """ + 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: MarkingMenuEventHandler) -> 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 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: + """ + Provides access to the radial marking menu. """ - pass + return RadialMarkingMenu() @property - def halfAngle(self) -> float: + def linearMarkingMenu(self) -> LinearMarkingMenu: """ - 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. + Provides access to the linear marking menu. """ - return float() - @halfAngle.setter - def halfAngle(self, value: float): + return LinearMarkingMenu() + @property + def selectedEntities(self) -> list[Base]: """ - 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. + 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. """ - pass + return [Base()] -class EllipticalCylinder(Surface): +class MFGDMDataEvent(Event): """ - 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. + A MFGDMDataEvent represents an event related to the state of the MFGDM data structure. """ 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) -> MFGDMDataEvent: + return MFGDMDataEvent() + def add(self, handler: MFGDMDataEventHandler) -> bool: """ - 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. + 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 (bool(), Point3D(), Vector3D(), Vector3D(), float(), float()) - def set(self, origin: Point3D, axis: Vector3D, majorAxis: Vector3D, majorRadius: float, minorRadius: float) -> bool: + return bool() + def remove(self, handler: MFGDMDataEventHandler) -> bool: """ - 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. + 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 copy(self) -> EllipticalCylinder: + +class MFGDMDataEventArgs(EventArgs): + """ + The MFGDMDataEventArgs provides information associated with the MFGDM event. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MFGDMDataEventArgs: + return MFGDMDataEventArgs() + @property + def document(self) -> Document: """ - Creates and returns an independent copy of this EllipticalCylinder object. - Returns a new EllipticalCylinder object that is a copy of this EllipticalCylinder object. + Provides access to the document that the event is relative to. """ - return EllipticalCylinder() - @property - def origin(self) -> Point3D: + return Document() + +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: """ - Gets and sets the origin point (center) of the base of the cylinder. + 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 Point3D() - @origin.setter - def origin(self, value: Point3D): + return bool() + def remove(self, handler: MouseEventHandler) -> bool: """ - Gets and sets the origin point (center) of the base of the cylinder. + 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 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 axis(self) -> Vector3D: - """ - 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): + def button(self) -> MouseButtons: """ - Gets and set the center axis (along the length) of the cylinder that defines - its normal direction. + Gets which mouse button(s) are pressed. The returned value + is bitwise and can indicate that more than one button is pressed. """ - pass + return MouseButtons() @property - def majorAxis(self) -> Vector3D: + def clicks(self) -> int: """ - Gets and sets the direction of the major axis of the ellipse that defines the cylinder. + Gets the number of times the button was pressed and released. """ - return Vector3D() - @majorAxis.setter - def majorAxis(self, value: Vector3D): + return int() + @property + def wheelDelta(self) -> int: """ - Gets and sets the direction of the major axis of the ellipse that defines the cylinder. + Gets a signed count of the number of detents the mouse wheel has rotated. """ - pass + return int() @property - def majorRadius(self) -> float: + def keyboardModifiers(self) -> KeyboardModifiers: """ - Gets and sets the major radius of the ellipse that defines the cylinder. + Gets which modifier keys are currently pressed. The returned value + is bitwise and can indicate that more than one button is pressed. """ - return float() - @majorRadius.setter - def majorRadius(self, value: float): + return KeyboardModifiers() + @property + def position(self) -> Point2D: """ - Gets and sets the major radius of the ellipse that defines the cylinder. + Gets the coordinate of the mouse in screen space. """ - pass + return Point2D() @property - def minorRadius(self) -> float: + def viewportPosition(self) -> Point2D: """ - Gets and sets the minor radius of the ellipse that defines the cylinder. + 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 float() - @minorRadius.setter - def minorRadius(self, value: float): + return Point2D() + @property + def viewport(self) -> Viewport: """ - Gets and sets the minor radius of the ellipse that defines the cylinder. + 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 FilenameProperty(Property): +class NavigationEvent(Event): """ - A file name property associated with an appearance. + A NavigationEvent is fired when a link is navigated on the page in a palette. """ def __init__(self): pass @staticmethod - def cast(arg) -> FilenameProperty: - return FilenameProperty() - @property - def hasMultipleValues(self) -> bool: + def cast(arg) -> NavigationEvent: + return NavigationEvent() + def add(self, handler: NavigationEventHandler) -> bool: """ - Gets the boolean flag that indicates if this property has multiple values or not. + 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: NavigationEventHandler) -> 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 NavigationEventArgs(EventArgs): + """ + 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) -> NavigationEventArgs: + return NavigationEventArgs() @property - def value(self) -> str: + def navigationURL(self) -> str: """ - Gets and sets the value of this property. + The URL that is being navigated to. """ return str() - @value.setter - def value(self, value: str): + @navigationURL.setter + def navigationURL(self, value: str): """ - Gets and sets the value of this property. + The URL that is being navigated to. """ pass @property - def values(self) -> list[str]: + def launchExternally(self) -> bool: """ - Gets and sets the values associated with this property. HasMultipleValues - property indicates if this property will be returning more than one value. + 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()] - @values.setter - def values(self, value: list[str]): + return bool() + @launchExternally.setter + def launchExternally(self, value: bool): """ - Gets and sets the values associated with this property. HasMultipleValues - property indicates if this property will be returning more than one value. + 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 - -class FloatProperty(Property): - """ - A float or real value property associated with a material or appearance. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> FloatProperty: - return FloatProperty() - def getLimits(self) -> tuple[bool, bool, float, bool, float]: - """ - 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 (bool(), bool(), float(), bool(), float()) @property - def hasConnectedTexture(self) -> bool: + def preventDefault(self) -> bool: """ - 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. + 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. """ return bool() - @hasConnectedTexture.setter - def hasConnectedTexture(self, value: bool): + @preventDefault.setter + def preventDefault(self, value: bool): """ - 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. + 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. """ pass @property - def connectedTexture(self) -> AppearanceTexture: - """ - 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: + def browserCommandInput(self) -> BrowserCommandInput: """ - 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. + 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 bool() - @property - def hasMultipleValues(self) -> bool: + return BrowserCommandInput() + +class NurbsCurve2D(Curve2D): + """ + 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) -> NurbsCurve2D: + return NurbsCurve2D() + @staticmethod + def createNonRational(controlPoints: list[Point2D], degree: int, knots: list[float], isPeriodic: bool) -> NurbsCurve2D: """ - Gets the boolean flag that indicates if this property has multiple values or not. + 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 bool() - @property - def isPercentage(self) -> bool: + return NurbsCurve2D() + @staticmethod + def createRational(controlPoints: list[Point2D], degree: int, knots: list[float], weights: list[float], isPeriodic: bool) -> NurbsCurve2D: """ - 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. + 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() - @property - def units(self) -> str: + return NurbsCurve2D() + def copy(self) -> NurbsCurve2D: """ - Gets the units that the value of this property is returned in. The String returned is a - valid Fusion 360 unit string. + Creates and returns an independent copy of this NurbsCurve2D object. + Returns an independent copy of this NurbsCurve2D. """ - return str() - @property - def value(self) -> float: + return NurbsCurve2D() + def getData(self) -> tuple[bool, list[Point2D], int, list[float], bool, list[float], bool]: """ - 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 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 float() - @value.setter - def value(self, value: float): + 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: """ - 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. + 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 """ - pass - @property - def values(self) -> list[float]: + return bool() + def extract(self, startParam: float, endParam: float) -> NurbsCurve2D: """ - Gets and sets the values associated with this property. HasMultipleValues property - indicates if this property will be returning more than one value. + 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 [float()] - @values.setter - def values(self, value: list[float]): + return NurbsCurve2D() + def merge(self, nurbsCurve: NurbsCurve2D) -> NurbsCurve2D: """ - Gets and sets the values associated with this property. HasMultipleValues property - indicates if this property will be returning more than one value. + 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. """ - 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 value(self) -> float: + return NurbsCurve2D() + def reverse(self) -> bool: """ - 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. + 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. - 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 - def value(self, value: float): + return bool() + @property + def controlPointCount(self) -> int: """ - 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 number of control points that define the curve """ - pass + return int() @property - def unitType(self) -> str: + def degree(self) -> int: """ - Gets the unit type that is used when evaluating the user's input. + Returns the degree of the curve """ - return str() + return int() @property - def minimumValue(self) -> float: + def knotCount(self) -> int: """ - Gets the minimum allowed value of the spinner in database units. + Returns the knot count of the curve """ - return float() + return int() @property - def maximumValue(self) -> float: + def isRational(self) -> bool: """ - Gets the maximum allowed value of the spinner in database units. + Returns if the curve is rational or non-rational type """ - return float() + return bool() @property - def spinStep(self) -> float: + def isClosed(self) -> bool: """ - 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. + Returns if the curve is closed """ - return float() + return bool() @property - def expression(self) -> str: + def isPeriodic(self) -> bool: """ - 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. + Returns if the curve is periodic. """ - return str() - @expression.setter - def expression(self, value: str): + return bool() + @property + def controlPoints(self) -> list[Point2D]: """ - 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. + Returns an array of Point2D objects that define the control points of the curve. """ - pass + return [Point2D()] @property - def isValidExpression(self) -> bool: + def knots(self) -> list[float]: """ - 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 an array of numbers that define the Knots of the curve. """ - return bool() + return [float()] -class FusionArchiveImportOptions(ImportOptions): +class NurbsCurve3D(Curve3D): """ - Defines that a Fusion 360 Archive import is to be done and specifies the various options. + 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) -> 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 + def cast(arg) -> NurbsCurve3D: + return NurbsCurve3D() @staticmethod - def cast(arg) -> GroupCommandInput: - return GroupCommandInput() - @property - def children(self) -> CommandInputs: + 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() + @staticmethod + def createRational(controlPoints: list[Point3D], degree: int, knots: list[float], weights: list[float], isPeriodic: bool) -> NurbsCurve3D: """ - 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. + 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 CommandInputs() - @property - def isExpanded(self) -> bool: + return NurbsCurve3D() + def getData(self) -> tuple[bool, list[Point3D], int, list[float], bool, list[float], 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. + 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() - @isExpanded.setter - def isExpanded(self, value: bool): + def extract(self, startParam: float, endParam: float) -> NurbsCurve3D: """ - 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. + 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. """ - pass - @property - def isEnabledCheckBoxDisplayed(self) -> bool: + return NurbsCurve3D() + def merge(self, nurbsCurve: NurbsCurve3D) -> NurbsCurve3D: """ - 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. + 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() - @isEnabledCheckBoxDisplayed.setter - def isEnabledCheckBoxDisplayed(self, value: bool): + return NurbsCurve3D() + def copy(self) -> NurbsCurve3D: """ - 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. + Creates and returns an independent copy of this NurbsCurve3D object. + Returns an independent copy of this NurbsCurve3D. """ - pass - @property - def isEnabledCheckBoxChecked(self) -> bool: + return NurbsCurve3D() + def reverse(self) -> bool: """ - Gets or sets if the enabled check-box is checked or not. This is only - valid when the isEnabledCheckBoxDisplayed property is true. + 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() - @isEnabledCheckBoxChecked.setter - def isEnabledCheckBoxChecked(self, value: bool): + @property + def controlPointCount(self) -> int: """ - Gets or sets if the enabled check-box is checked or not. This is only - valid when the isEnabledCheckBoxDisplayed property is true. + Gets the number of control points that define the curve. """ - pass - -class HTMLEvent(Event): - """ - A HTMLEvent is fired when triggered from JavaScript code associated with HTML used - in a palette. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> HTMLEvent: - return HTMLEvent() - def add(self, handler: HTMLEventHandler) -> bool: + return int() + @property + def degree(self) -> int: """ - 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 the degree of the curve. """ - return bool() - def remove(self, handler: HTMLEventHandler) -> bool: + return int() + @property + def knotCount(self) -> int: """ - 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. + Returns the knot count of the curve. """ - 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() + return int() @property - def action(self) -> str: + def isRational(self) -> bool: """ - 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. + Gets if the curve is rational or non-rational type. """ - return str() + return bool() @property - def data(self) -> str: + def isClosed(self) -> bool: """ - 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. + Gets if the curve is closed. """ - return str() + return bool() @property - def returnData(self) -> str: + def isPeriodic(self) -> bool: """ - Set this property to return data back to the JavaScript that's associated with the HTML. + Gets if the curve is periodic. """ - return str() - @returnData.setter - def returnData(self, value: str): + return bool() + @property + def controlPoints(self) -> list[Point3D]: """ - Set this property to return data back to the JavaScript that's associated with the HTML. + Returns an array of Point3D objects that define the control points of the curve. """ - pass + return [Point3D()] @property - def browserCommandInput(self) -> BrowserCommandInput: + def knots(self) -> list[float]: """ - 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 an array of numbers that define the knot vector of the curve. """ - return BrowserCommandInput() + return [float()] -class IGESImportOptions(ImportOptions): +class NurbsSurface(Surface): """ - Defines that an IGES import is to be done and specifies the various options. + 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) -> IGESImportOptions: - return IGESImportOptions() - -class ImageCommandInput(CommandInput): - """ - Provides an image command input for including an image in a command dialog. - """ - def __init__(self): - pass + def cast(arg) -> NurbsSurface: + return NurbsSurface() @staticmethod - def cast(arg) -> ImageCommandInput: - return ImageCommandInput() - @property - def imageFile(self) -> str: + 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: """ - 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. + 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 str() - @imageFile.setter - def imageFile(self, value: str): + return NurbsSurface() + def getData(self) -> tuple[bool, int, int, int, int, list[Point3D], list[float], list[float], list[float], NurbsSurfaceProperties, NurbsSurfaceProperties]: """ - 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. + 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. """ - pass - -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: + 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: """ - 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. + 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 InfiniteLine3D() - def isColinearTo(self, line: InfiniteLine3D) -> bool: + return bool() + def copy(self) -> NurbsSurface: """ - 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 and returns an independent copy of this NurbsSurface object. + Returns a new NurbsSurface object that is a copy of this NurbsSurface object. """ - return bool() - def copy(self) -> InfiniteLine3D: + return NurbsSurface() + @property + def controlPointCountU(self) -> int: """ - Creates and returns a copy of this line object. - Returns an independent copy of this line object. + Gets the number of control points in the U direction. """ - return InfiniteLine3D() - def intersectWithCurve(self, curve: Curve3D) -> ObjectCollection: + return int() + @property + def controlPointCountV(self) -> int: """ - 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 number of control points in the V direction. """ - return ObjectCollection() - def intersectWithSurface(self, surface: Surface) -> ObjectCollection: + return int() + @property + def degreeU(self) -> int: """ - 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. + Gets the degree in the U direction. """ - return ObjectCollection() - def getData(self) -> tuple[bool, Point3D, Vector3D]: + return int() + @property + def degreeV(self) -> int: """ - 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. + Gets the degree in the V direction. """ - return (bool(), Point3D(), Vector3D()) - def set(self, origin: Point3D, direction: Vector3D) -> bool: + return int() + @property + def knotCountU(self) -> int: """ - 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. + Gets the knot count in the U direction. """ - return bool() + return int() @property - def origin(self) -> Point3D: + def knotCountV(self) -> int: """ - Gets and sets the origin point of the line. + Gets thekKnot count in the V direction. """ - return Point3D() - @origin.setter - def origin(self, value: Point3D): + return int() + @property + def propertiesU(self) -> NurbsSurfaceProperties: """ - Gets and sets the origin point of the line. + Gets the properties (NurbsSurfaceProperties) of the surface in the U direction. """ - pass + return NurbsSurfaceProperties() @property - def direction(self) -> Vector3D: + def propertiesV(self) -> NurbsSurfaceProperties: """ - Gets and sets the direction of the line. + Gets the properties (NurbsSurfaceProperties) of the surface in the V direction. """ - return Vector3D() - @direction.setter - def direction(self, value: Vector3D): + return NurbsSurfaceProperties() + @property + def controlPoints(self) -> list[Point3D]: """ - Gets and sets the direction of the line. + Gets an array of control points from the surface. """ - 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 [Point3D()] + @property + def knotsU(self) -> list[float]: """ - 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. + Get the knot vector from the U direction. """ - return bool() - def remove(self, handler: InputChangedEventHandler) -> bool: + return [float()] + @property + def knotsV(self) -> list[float]: """ - 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. + Get the knot vector from the V direction """ - return bool() + return [float()] -class InputChangedEventArgs(EventArgs): +class Plane(Surface): """ - Provides a set of arguments from a firing InputChangedEvent to a InputEventChangedEventHandler's notify callback method. + 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) -> InputChangedEventArgs: - return InputChangedEventArgs() - @property - def input(self) -> CommandInput: + def cast(arg) -> Plane: + return Plane() + @staticmethod + def create(origin: Point3D, normal: Vector3D) -> Plane: """ - Returns the command input that has just changed. + 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 CommandInput() - @property - def inputs(self) -> CommandInputs: + return Plane() + @staticmethod + def createUsingDirections(origin: Point3D, uDirection: Vector3D, vDirection: Vector3D) -> Plane: """ - Returns the collection of command inputs that are associated with the command this event is being fired for. + 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 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 Plane() + def setUVDirections(self, uDirection: Vector3D, vDirection: Vector3D) -> bool: """ - 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. + 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 (bool(), bool(), int(), bool(), int()) - @property - def hasLimits(self) -> bool: + return bool() + def isParallelToPlane(self, plane: Plane) -> 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. + 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() - @property - def hasMultipleValues(self) -> bool: + def isParallelToLine(self, line: Line3D) -> bool: """ - Gets the boolean flag that indicates if this property has multiple values or not. + 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() - @property - def value(self) -> int: + def isPerpendicularToPlane(self, plane: Plane) -> bool: """ - 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. + 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 int() - @value.setter - def value(self, value: int): + return bool() + def isPerpendicularToLine(self, line: Line3D) -> bool: """ - 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. + 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. """ - pass - @property - def values(self) -> list[int]: + return bool() + def isCoPlanarTo(self, plane: Plane) -> bool: """ - Gets and sets the values associated with this property. HasMultipleValues property - indicates if this property will be returning more than one value. + 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 [int()] - @values.setter - def values(self, value: list[int]): + return bool() + def intersectWithPlane(self, plane: Plane) -> InfiniteLine3D: """ - Gets and sets the values associated with this property. HasMultipleValues property - indicates if this property will be returning more than one value. + 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). """ - 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() - @property - def value(self) -> int: + 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: """ - Gets and sets the value associated with this input. + 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. """ - return int() - @value.setter - def value(self, value: int): + return ObjectCollection() + def intersectWithSurface(self, surface: Surface) -> ObjectCollection: """ - Gets and sets the value associated with this input. + 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. """ - pass - @property - def minimumValue(self) -> int: + return ObjectCollection() + def copy(self) -> Plane: """ - Gets the minimum allowed value of the spinner. + Creates and returns an independent copy of this Plane object. + Returns a new Plane object that is a copy of this Plane object. """ - return int() + return Plane() @property - def maximumValue(self) -> int: + def origin(self) -> Point3D: """ - Gets the maximum allowed value of the spinner. + Gets and sets the origin point of the plane. """ - return int() - @property - def spinStep(self) -> int: + return Point3D() + @origin.setter + def origin(self, value: Point3D): """ - 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. + Gets and sets the origin point of the plane. """ - return int() - -class KeyboardEvent(Event): - """ - An event endpoint that supports the connection to client implemented KeyboardEventHandlers. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> KeyboardEvent: - return KeyboardEvent() - def add(self, handler: KeyboardEventHandler) -> bool: + @property + def normal(self) -> Vector3D: """ - 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. + Gets and sets the normal of the plane. """ - return bool() - def remove(self, handler: KeyboardEventHandler) -> bool: + return Vector3D() + @normal.setter + def normal(self, value: Vector3D): """ - 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 and sets the normal of the plane. """ - 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 modifierMask(self) -> int: + def uDirection(self) -> Vector3D: """ - Gets the set of keyboard modifiers that were active. The value is the Boolean - combination of KeyboardModifiers values. + Gets the U Direction of the plane. """ - return int() + return Vector3D() @property - def keyCode(self) -> KeyCodes: + def vDirection(self) -> Vector3D: """ - Gets the keyboard key. + Gets the V Direction of the plane. """ - return KeyCodes() + return Vector3D() -class Line2D(Curve2D): +class Polyline2D(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. + Represents a single curve composed of a series of connected lines in 2D space. """ def __init__(self): pass @staticmethod - def cast(arg) -> Line2D: - return Line2D() + def cast(arg) -> Polyline2D: + return Polyline2D() @staticmethod - def create(startPoint: Point2D, endPoint: Point2D) -> Line2D: - """ - 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. - """ - return Line2D() - def copy(self) -> Line2D: - """ - Creates and returns a copy of this line object. - Returns an independent copy of this line object. + def create(points: list[Point2D]) -> Polyline2D: """ - return Line2D() - def getData(self) -> tuple[bool, Point2D, Point2D]: - """ - 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. + Creates a transient 2D polyline using an array of Point2D objects that defines + the position of the polyline vertices. + points : An array of Point2D objects that define the coordinates of the curve. + Returns the created Polyline2D object. """ - return (bool(), Point2D(), Point2D()) - def set(self, startPoint: Point2D, endPoint: Point2D) -> bool: + return Polyline2D() + @staticmethod + def createByArray(pointCoordinates: list[float]) -> Polyline2D: """ - 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 + Creates a transient 2D polyline using an array of floating point values that + specify the X, Y coordinates for each point. + pointCoordinates : An array of floating point values that define the X, Y coordinates of each + point in the polyline. + Returns the created Polyline2D object. """ - return bool() + return Polyline2D() @property - def startPoint(self) -> Point2D: - """ - Gets and sets the start point of the line. - """ - return Point2D() - @startPoint.setter - def startPoint(self, value: Point2D): + def pointCount(self) -> int: """ - Gets and sets the start point of the line. + Returns the number of points defining the polyline. """ - pass + return int() @property - def endPoint(self) -> Point2D: + def points(self) -> list[Point2D]: """ - Gets and sets the end point of the line. + Gets and sets the points that define the coordinates of the polyline. """ - return Point2D() - @endPoint.setter - def endPoint(self, value: Point2D): + return [Point2D()] + @points.setter + def points(self, value: list[Point2D]): """ - Gets and sets the end point of the line. + Gets and sets the points that define the coordinates of the polyline. """ pass @property def asNurbsCurve(self) -> NurbsCurve2D: """ - Returns a NURBS curve that is geometrically identical to the line. + Returns a NURBS curve that is geometrically identical to the polyline. """ return NurbsCurve2D() -class Line3D(Curve3D): +class Polyline3D(Curve3D): """ - 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. + Represents a single piecewise linear curve. This is a single curve that + consists of a series of connected lines in 3D space. """ def __init__(self): pass @staticmethod - def cast(arg) -> Line3D: - return Line3D() + def cast(arg) -> Polyline3D: + return Polyline3D() @staticmethod - def create(startPoint: Point3D, endPoint: Point3D) -> Line3D: + def create(points: list[Point3D]) -> Polyline3D: """ - 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 3D polyline using an array of Point3D objects that defines + the position of the polyline vertices. + points : An array of Point3D objects that define the coordinates of the curve. + Returns the created Polyline3D object or null if the creation failed. """ - return Line3D() - def copy(self) -> Line3D: + return Polyline3D() + @staticmethod + def createByArray(pointCoordinates: list[float]) -> Polyline3D: """ - Creates and returns a copy of this line object. - Returns an independent copy of this line object. + Creates a transient 3D polyline using an array of floating point values that + specify the X, Y, Z coordinates for each point. + pointCoordinates : An array of floating point values that define the X, Y, Z coordinates of each + point in the polyline. + Returns the created Polyline3D object or null if the creation failed """ - return Line3D() - def asInfiniteLine(self) -> InfiniteLine3D: + return Polyline3D() + @property + def pointCount(self) -> int: """ - Creates an equivalent InfiniteLine3D. - Returns an equivalent InfiniteLine3D + Returns the number of points defining the polyline. """ - return InfiniteLine3D() - def isColinearTo(self, line: Line3D) -> bool: + return int() + @property + def points(self) -> list[Point3D]: """ - 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 + Gets and sets the points that define the coordinates of the polyline. """ - return bool() - def intersectWithCurve(self, curve: Curve3D) -> ObjectCollection: + return [Point3D()] + @points.setter + def points(self, value: list[Point3D]): """ - 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 and sets the points that define the coordinates of the polyline. """ - return ObjectCollection() - def intersectWithSurface(self, surface: Surface) -> ObjectCollection: + pass + @property + def asNurbsCurve(self) -> NurbsCurve3D: """ - 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. + Returns a NURBS curve that is geometrically identical to the polyline. """ - return ObjectCollection() - def getData(self) -> tuple[bool, Point3D, Point3D]: + return NurbsCurve3D() + +class ProjectedTextureMapControl(TextureMapControl): + """ + 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) -> ProjectedTextureMapControl: + return ProjectedTextureMapControl() + @property + def projectedTextureMapType(self) -> ProjectedTextureMapTypes: """ - 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 and sets how the texture map is being applied onto the body. """ - return (bool(), Point3D(), Point3D()) - def set(self, startPoint: Point3D, endPoint: Point3D) -> bool: + return ProjectedTextureMapTypes() + @projectedTextureMapType.setter + def projectedTextureMapType(self, value: ProjectedTextureMapTypes): """ - 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. + Gets and sets how the texture map is being applied onto the body. """ - return bool() + pass @property - def startPoint(self) -> Point3D: + def isCapped(self) -> bool: """ - Gets and sets the start point of the line. + 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 Point3D() - @startPoint.setter - def startPoint(self, value: Point3D): + return bool() + @isCapped.setter + def isCapped(self, value: bool): """ - Gets and sets the start point of the line. + 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 endPoint(self) -> Point3D: + def transform(self) -> Matrix3D: """ - Gets and sets the end point of the line. + 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 Point3D() - @endPoint.setter - def endPoint(self, value: Point3D): + return Matrix3D() + @transform.setter + def transform(self, value: Matrix3D): """ - Gets and sets the end point of the line. + 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 - @property - def asNurbsCurve(self) -> NurbsCurve3D: - """ - Returns a NURBS curve that is geometrically identical to the line. - """ - return NurbsCurve3D() -class ListControlDefinition(ControlDefinition): +class RadioButtonGroupCommandInput(CommandInput): """ - 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 a command input to get the choice from a radio button group from the user. """ def __init__(self): pass @staticmethod - def cast(arg) -> ListControlDefinition: - return ListControlDefinition() + def cast(arg) -> RadioButtonGroupCommandInput: + return RadioButtonGroupCommandInput() @property def listItems(self) -> ListItems: """ - Gets the associated ListControlItems collection through which you can add and modify items in the list. + 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 listControlDisplayType(self) -> ListControlDisplayTypes: - """ - Gets how this list control will be displayed; as a standard list, a list of check boxes, or a list of radio buttons. - """ - return ListControlDisplayTypes() - @property - def lastSelected(self) -> ListItem: + def selectedItem(self) -> ListItem: """ - 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 item in the radio button list that is currently selected. """ return ListItem() -class MarkingMenuEvent(Event): +class SATImportOptions(ImportOptions): """ - A MarkingMenuEvent is fired when the marking menu and context menu are displayed. For example, in response to the - markingMenuDisplaying event. + Defines that a SAT import is to be done and specifies the various options. """ def __init__(self): pass @staticmethod - def cast(arg) -> MarkingMenuEvent: - return MarkingMenuEvent() - def add(self, handler: MarkingMenuEventHandler) -> 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: MarkingMenuEventHandler) -> 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() + def cast(arg) -> SATImportOptions: + return SATImportOptions() -class MarkingMenuEventArgs(EventArgs): +class SelectionCommandInput(CommandInput): """ - The MarkingMenuEventArgs provides information associated with the marking and context - menu being displayed. + Provides a command input to get a selection from the user. """ def __init__(self): pass @staticmethod - def cast(arg) -> MarkingMenuEventArgs: - return MarkingMenuEventArgs() - @property - def radialMarkingMenu(self) -> RadialMarkingMenu: + 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" + FaceGroups = "FaceGroups" + VolumetricModel = "VolumetricModel" + def addSelectionFilter(self, filter: str) -> bool: """ - Provides access to the radial marking menu. + 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 RadialMarkingMenu() - @property - def linearMarkingMenu(self) -> LinearMarkingMenu: + return bool() + def clearSelectionFilter(self) -> bool: """ - Provides access to the linear marking menu. + Clears the list of selection filters. + Returns true if successful. """ - return LinearMarkingMenu() - @property - def selectedEntities(self) -> list[Base]: + return bool() + def selection(self, index: int) -> Selection: """ - 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. + 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 [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 Selection() + def addSelection(self, selection: Base) -> 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. + 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 bool() - def remove(self, handler: MouseEventHandler) -> bool: + def getSelectionLimits(self) -> tuple[bool, int, int]: """ - 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. + 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 (bool(), int(), int()) + def setSelectionLimits(self, minimum: int, maximum: int = 0) -> bool: + """ + 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 clearSelection(self) -> bool: + """ + 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() + return str() + @commandPrompt.setter + def commandPrompt(self, value: str): + """ + Gets or sets the tooltip shown next to the cursor. + """ + pass @property - def clicks(self) -> int: + def selectionFilters(self) -> list[str]: """ - Gets the number of times the button was pressed and released. + Gets or sets the list of selection filters. """ - return int() + return [str()] + @selectionFilters.setter + def selectionFilters(self, value: list[str]): + """ + Gets or sets the list of selection filters. + """ + pass @property - def wheelDelta(self) -> int: + def selectionCount(self) -> int: """ - Gets a signed count of the number of detents the mouse wheel has rotated. + Gets the current number of selections the user has made for this input. """ return int() @property - def keyboardModifiers(self) -> KeyboardModifiers: + def hasFocus(self) -> bool: """ - Gets which modifier keys are currently pressed. The returned value - is bitwise and can indicate that more than one button is pressed. + 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 KeyboardModifiers() - @property - def position(self) -> Point2D: + return bool() + @hasFocus.setter + def hasFocus(self, value: bool): """ - Gets the coordinate of the mouse in screen space. + 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() + pass @property - def viewportPosition(self) -> Point2D: + def isUseCurrentSelections(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. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Determines if any selections the user has made before starting the command can be used by the + command's selection inputs. The default is true, which means the active selections will be added + to the first selection input whose selection filter allows for that entity type. For example, + if you have two selection inputs that have filters to select any number of faces and there are + four faces selected when the command is started, those four faces will be selected by the + selection input. If there's another selection input for the same command that has the filter set to + select sketch curves, and there are faces and sketch curves selected when you start the command, the + faces will be selected by the selection input filtering for faces, and the sketch curves will be selected + by the selection input filtering for sketch curves. + + You can programmatically control which selected entities will be added to the selection inputs by using the + preSelect event of the command. The preSelect event will fire for each entity that was already selected before + it's added to the selection input, and you can use it to control if it will be added to the selection input. """ - return Point2D() - @property - def viewport(self) -> Viewport: + return bool() + @isUseCurrentSelections.setter + def isUseCurrentSelections(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. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Determines if any selections the user has made before starting the command can be used by the + command's selection inputs. The default is true, which means the active selections will be added + to the first selection input whose selection filter allows for that entity type. For example, + if you have two selection inputs that have filters to select any number of faces and there are + four faces selected when the command is started, those four faces will be selected by the + selection input. If there's another selection input for the same command that has the filter set to + select sketch curves, and there are faces and sketch curves selected when you start the command, the + faces will be selected by the selection input filtering for faces, and the sketch curves will be selected + by the selection input filtering for sketch curves. + + You can programmatically control which selected entities will be added to the selection inputs by using the + preSelect event of the command. The preSelect event will fire for each entity that was already selected before + it's added to the selection input, and you can use it to control if it will be added to the selection input. """ - 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): - """ - The NavigationEventArgs provides access to the information sent from the browser - within a palette on a navigation event. +class SelectionEventArgs(EventArgs): + """ + 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() + def cast(arg) -> SelectionEventArgs: + return SelectionEventArgs() @property - def navigationURL(self) -> str: - """ - The URL that is being navigated to. - """ - return str() - @navigationURL.setter - def navigationURL(self, value: str): + 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 SeparatorCommandInput(CommandInput): """ - 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. + An object that represents a visual separator within a command dialog. """ def __init__(self): pass @staticmethod - def cast(arg) -> NurbsCurve2D: - return NurbsCurve2D() + def cast(arg) -> SeparatorCommandInput: + return SeparatorCommandInput() + +class SeparatorControl(ToolbarControl): + """ + Represents a separator within a panel, toolbar, or drop-down control. + """ + def __init__(self): + pass @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 NurbsCurve3D(Curve3D): +class SMTImportOptions(ImportOptions): """ - 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. + Defines that an SMT import is to be done and specifies the various options. """ def __init__(self): pass @staticmethod - def cast(arg) -> NurbsCurve3D: - return NurbsCurve3D() + 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): + pass @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. + """ + 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: - """ - 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. + def cast(arg) -> StringValueCommandInput: + return StringValueCommandInput() + @property + def value(self) -> str: """ - return NurbsSurface() - def getData(self) -> tuple[bool, int, int, int, int, list[Point3D], list[float], list[float], list[float], NurbsSurfaceProperties, NurbsSurfaceProperties]: + Gets or sets the value of this input. """ - 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 str() + @value.setter + def value(self, value: str): """ - 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: + Gets or sets the value of this input. """ - 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 + pass + @property + def isPassword(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. """ 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 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 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 icon for the tab. If no name is specified (no text on tab), + a resourceFolder containing the icon needs to be provided. Icons can be defined + using either PNG or SVG files. More information about icons can be found in the user manual + topic User Interface Customization. + """ - return bool() - def isParallelToPlane(self, plane: Plane) -> bool: + return str() + @property + def isActive(self) -> 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. + Gets if this is the currently activated (selected) tab. """ return bool() - def isParallelToLine(self, line: Line3D) -> 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 separate 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 a line. - line : The line to compare with for parallelism. - Returns true if the plane and line 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 isPerpendicularToPlane(self, plane: Plane) -> bool: + def addCommandInput(self, input: CommandInput, row: int, column: int, rowSpan: int = 0, columnSpan: int = 0) -> 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. + 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 isPerpendicularToLine(self, line: Line3D) -> bool: + def removeInput(self, row: int, column: int) -> 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. + 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 isCoPlanarTo(self, plane: Plane) -> bool: + def getPosition(self, input: CommandInput) -> tuple[bool, int, int, int, int]: """ - 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. + 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 intersectWithPlane(self, plane: Plane) -> InfiniteLine3D: + def addToolbarCommandInput(self, input: CommandInput) -> bool: """ - 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). + 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 getInputAtPosition(self, row: int, column: int) -> CommandInput: """ - return InfiniteLine3D() - def intersectWithLine(self, line: InfiniteLine3D) -> Point3D: + 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. """ - 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 CommandInput() + @property + def numberOfColumns(self) -> int: """ - return Point3D() - def intersectWithCurve(self, curve: Curve3D) -> ObjectCollection: + 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. """ - 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. + return int() + @numberOfColumns.setter + def numberOfColumns(self, value: int): """ - return ObjectCollection() - def intersectWithSurface(self, surface: Surface) -> ObjectCollection: + 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. """ - 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. + pass + @property + def columnRatio(self) -> str: """ - return ObjectCollection() - def copy(self) -> Plane: + 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. """ - Creates and returns an independent copy of this Plane object. - Returns a new Plane object that is a copy of this Plane object. + return str() + @columnRatio.setter + def columnRatio(self, value: str): """ - return Plane() + 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. + """ + 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: - """ - 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. + @property + def maximumVisibleRows(self) -> int: """ - return bool() - def clearSelectionFilter(self) -> bool: + 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. """ - Clears the list of selection filters. - Returns true if successful. + return int() + @maximumVisibleRows.setter + def maximumVisibleRows(self, value: int): """ - return bool() - def selection(self, index: int) -> Selection: + 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. """ - 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. + pass + @property + def tablePresentationStyle(self) -> TablePresentationStyles: """ - return Selection() - def addSelection(self, selection: Base) -> bool: + Gets and sets the presentation style the table is currently using for its display. """ - 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 TablePresentationStyles() + @tablePresentationStyle.setter + def tablePresentationStyle(self, value: TablePresentationStyles): """ - return bool() - def getSelectionLimits(self) -> tuple[bool, int, int]: + Gets and sets the presentation style the table is currently using for its display. """ - 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. + pass + @property + def rowCount(self) -> int: """ - return (bool(), int(), int()) - def setSelectionLimits(self, minimum: int, maximum: int) -> bool: + 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. """ - 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 int() + @property + def selectedRow(self) -> int: """ - return bool() - def clearSelection(self) -> bool: + 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. """ - Clears the current selection so no entities are in the selection. - Returns true if successful. + return int() + @selectedRow.setter + def selectedRow(self, value: int): """ - return bool() + 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. + """ + 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. """ 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): - 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): + @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) -> Sphere: - return Sphere() - @staticmethod - def create(origin: Point3D, radius: float) -> Sphere: + @property + def isXYPlaneTranslationVisible(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-Y plane is + visible in both the graphical manipulator and in the dialog. """ - return Sphere() - def getData(self) -> tuple[bool, Point3D, float]: + return bool() + @isXYPlaneTranslationVisible.setter + def isXYPlaneTranslationVisible(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-Y 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 isXZPlaneTranslationVisible(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 X-Z plane is + visible in both the graphical manipulator and in the dialog. """ return bool() - def copy(self) -> Sphere: + @isXZPlaneTranslationVisible.setter + def isXZPlaneTranslationVisible(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 X-Z plane is + visible in both the graphical manipulator and in the dialog. """ - return Sphere() + pass @property - def origin(self) -> Point3D: + def isYZPlaneTranslationVisible(self) -> bool: """ - Gets and sets the origin point (center) of the sphere. + 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 Point3D() - @origin.setter - def origin(self, value: Point3D): + return bool() + @isYZPlaneTranslationVisible.setter + def isYZPlaneTranslationVisible(self, value: bool): """ - Gets and sets the origin point (center) of the sphere. + 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. """ pass @property - def radius(self) -> float: + def isXRotationVisible(self) -> bool: """ - Gets and sets the radius 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 float() - @radius.setter - def radius(self, value: float): + return bool() + @isXRotationVisible.setter + def isXRotationVisible(self, value: bool): """ - Gets and sets the radius 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 - -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 isYRotationVisible(self) -> bool: + """ + 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 bool() + @isYRotationVisible.setter + def isYRotationVisible(self, value: bool): + """ + 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 - @staticmethod - def cast(arg) -> SplitButtonControl: - return SplitButtonControl() @property - def defaultCommandDefinition(self) -> CommandDefinition: + def isZRotationVisible(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 rotation around the + Z axis is visible in both the graphical manipulator and in the dialog. """ - return CommandDefinition() + 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 @property - def isLastUsedShown(self) -> bool: + def isXScalingInXYVisible(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-Y plane of the triad. """ 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 additionalDefinitions(self) -> list[CommandDefinition]: + def isXScalingInXZVisible(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 + 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 [CommandDefinition()] - @additionalDefinitions.setter - def additionalDefinitions(self, value: list[CommandDefinition]): + return bool() + @isXScalingInXZVisible.setter + def isXScalingInXZVisible(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 + 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 - -class STEPImportOptions(ImportOptions): - """ - Defines that a STEP import is to be done and specifies the various options. - """ - def __init__(self): + @property + def isYScalingInXYVisible(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 X-Y plane of the triad. + """ + return bool() + @isYScalingInXYVisible.setter + def isYScalingInXYVisible(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 X-Y 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 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) -> StringProperty: - return StringProperty() @property - def value(self) -> str: + def isZScalingInXZVisible(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 X-Z plane of the triad. """ - return str() - @value.setter - def value(self, value: str): + return bool() + @isZScalingInXZVisible.setter + def isZScalingInXZVisible(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 X-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 isZScalingInYZVisible(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 Y-Z plane of the triad. + """ + return bool() + @isZScalingInYZVisible.setter + def isZScalingInYZVisible(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 Y-Z plane of the triad. + """ pass - @staticmethod - def cast(arg) -> StringValueCommandInput: - return StringValueCommandInput() @property - def value(self) -> str: + def isXYPlaneScalingVisible(self) -> bool: """ - Gets or sets the value of this input. + 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 str() - @value.setter - def value(self, value: str): + return bool() + @isXYPlaneScalingVisible.setter + def isXYPlaneScalingVisible(self, value: bool): """ - Gets or sets the value of this input. + 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 @property - def isPassword(self) -> bool: + def isXZPlaneScalingVisible(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 X-Z plane is + visible in both the graphical manipulator and in the dialog. """ return bool() - @isPassword.setter - def isPassword(self, value: bool): + @isXZPlaneScalingVisible.setter + def isXZPlaneScalingVisible(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 X-Z plane is + visible in both the graphical manipulator and in the dialog. + """ + pass + @property + def isYZPlaneScalingVisible(self) -> bool: + """ + 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() + @isYZPlaneScalingVisible.setter + def isYZPlaneScalingVisible(self, value: bool): + """ + 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 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: """ - 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 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. """ - return int() - @minimumVisibleRows.setter - def minimumVisibleRows(self, value: int): + return str() + @yScaleFactorExpression.setter + def yScaleFactorExpression(self, value: str): """ - 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 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 +21734,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 +21782,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 +21793,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,10 +21829,122 @@ 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): """ - A WebRequestEvent represents an event that occurs in reaction to a Fusion 360 protocol handler + A WebRequestEvent represents an event that occurs in reaction to a Fusion protocol handler in a web page. For example, insertedFromURL and openedFromURL """ def __init__(self): @@ -16746,7 +21970,7 @@ def remove(self, handler: WebRequestEventHandler) -> bool: class WebRequestEventArgs(EventArgs): """ The WebRequestEventArgs provides information associated with a web request event. These - are events fired as a result of a Fusion 360 protocol handler being invoked from a web page. + are events fired as a result of a Fusion protocol handler being invoked from a web page. Note that some properties are not available on every event. """ def __init__(self): 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..9410ec3 100644 --- a/adsk/fusion.py +++ b/adsk/fusion.py @@ -2,9 +2,66 @@ # It does not reflect the actual implementation. from __future__ import annotations +from collections.abc import Iterator from . import core +class ArrangePriorities(): + """ + Defines the different types of arrange priorities that are supported. + """ + def __init__(self): + pass + VeryLowArrangePriority = 0 + LowArrangePriority = 1 + MediumArrangePriority = 2 + HighArrangePriority = 3 + VeryHighArrangePriority = 4 + +class ArrangeRotationTypes(): + """ + Defines the different types of rotations supported. + """ + def __init__(self): + pass + GlobalArrangeRotationType = 0 + AllRotationsArrangeRotationType = 1 + NoneArrangeRotationType = 2 + Only180ArrangeRotationType = 3 + Only90And270ArrangeRotationType = 4 + +class ArrangeSolverTypes(): + """ + Defines the different types of arrangement solvers that are supported. + """ + def __init__(self): + pass + Arrange2DTrueShapeSolverType = 0 + Arrange2DRectangularSolverType = 1 + Arrange3DSolverType = 2 + +class BendPositionTypes(): + """ + Bend location types used for creating flanges and hems. + """ + def __init__(self): + pass + LegacyBendPositionType = 0 + OutsideBendPositionType = 1 + InsideBendPositionType = 2 + StartEdgeBendPositionType = 3 + TangentToSideBendPositionType = 4 + +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 +72,70 @@ 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 BoundingBoxEntityTypes(): + """ + Specifies the various types of entities that can be included in bounding box calculations. + This is a bitwise friendly enum so types can be combined to specify more than one type. + """ + def __init__(self): + pass + AllEntitiesBoundingBoxEntityType = 0 + SolidBRepBodyBoundingBoxEntityType = 1 + SurfaceBodyBoundingBoxEntityType = 2 + MeshBodyBoundingBoxEntityType = 4 + SketchBoundingBoxEntityType = 8 + ConstructionBoundingBoxEntityType = 16 + class BRepConvertOptions(): """ Defines the various options when converting the geometry of a B-Rep body or face @@ -73,15 +194,15 @@ def __init__(self): MiterCornerType = 1 BlendCornertype = 2 -class ChamferTypes(): +class ClearanceHoleFits(): """ - List of the different ways a chamfer can be defined. + List of the different types of fit that a clearance hole can be. """ def __init__(self): pass - EqualDistanceChamferType = 0 - TwoDistancesChamferType = 1 - DistanceAndAngleChamferType = 2 + CloseClearanceHoleFit = 0 + NormalClearanceHoleFit = 1 + LooseClearanceHoleFit = 2 class CoilFeatureSectionPositions(): """ @@ -115,6 +236,51 @@ def __init__(self): HeightAndPitchCoilFeatureType = 2 SpiralCoilFeatureType = 3 +class ConfigurationClearanceHoleColumns(): + """ + Enum that defines the valid combinations of clearance hole columns that can be configured. + """ + def __init__(self): + pass + Standard_Type_Size_ClearanceHoleColumns = 0 + Type_Size_ClearanceHoleColumns = 1 + Size_ClearanceHoleColumns = 2 + +class ConfigurationFeatureAspectTypes(): + """ + Defines a list of all of the different aspects of a feature that can be configured. + """ + def __init__(self): + pass + ThreadTypeFeatureAspectType = 0 + ThreadSizeFeatureAspectType = 1 + ThreadDesignationFeatureAspectType = 2 + ThreadClassFeatureAspectType = 3 + ThreadModeledFeatureAspectType = 4 + ThreadFullLengthFeatureAspectType = 5 + ThreadIsRightHandedFeatureAspectType = 6 + JointFlipFeatureAspectType = 7 + JointSnapOneFeatureAspectType = 8 + JointSnapTwoFeatureAspectType = 9 + ClearanceHoleStandardFeatureAspectType = 10 + ClearanceHoleTypeFeatureAspectType = 11 + ClearanceHoleSizeFeatureAspectType = 12 + ClearanceHoleFitFeatureAspectType = 13 + +class ConfigurationThreadColumns(): + """ + Enum that defines the valid combinations of thread columns that can be configured. + """ + def __init__(self): + pass + ThreadType_Size_Designation_ClassColumns = 0 + ThreadSize_Designation_ClassColumns = 1 + ThreadDesignation_ClassColumns = 2 + ThreadClassColumns = 3 + TaperedThreadType_Size_DesignationColumns = 4 + TaperedSize_DesignationColumns = 5 + TaperedDesignationColumns = 6 + class CustomGraphicsBillBoardStyles(): """ Specifies the different styles that can be used to control billboarding. @@ -146,7 +312,7 @@ def __init__(self): class DefaultDesignTypeOptions(): """ - The valid options for the Design History (default design type) setting. + The valid options for the default modeling type setting. """ def __init__(self): pass @@ -172,9 +338,23 @@ def __init__(self): pass ParameterReferencedByOtherParameterError = 200 +class DesignIntentTypes(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + The different types of design intent. + """ + def __init__(self): + pass + PartDesignIntentType = 0 + AssemblyDesignIntentType = 1 + HybridDesignIntentType = 2 + class DesignTypes(): """ - Fusion 360 design types + Fusion design types """ def __init__(self): pass @@ -193,7 +373,7 @@ def __init__(self): class DistanceUnits(): """ - Valid unit types for distance + Valid unit types for distance. """ def __init__(self): pass @@ -202,6 +382,12 @@ def __init__(self): MeterDistanceUnits = 2 InchDistanceUnits = 3 FootDistanceUnits = 4 + YardDistanceUnits = 5 + MicronDistanceUnits = 6 + HectometerDistanceUnits = 7 + MileDistanceUnits = 8 + MilDistanceUnits = 9 + NauticalMileDistanceUnits = 10 class ExpressionError(): """ @@ -258,6 +444,34 @@ def __init__(self): NewBodyFeatureOperation = 3 NewComponentFeatureOperation = 4 +class FilletFeatureTypes(): + """ + List of the fillet feature types. + """ + def __init__(self): + pass + FilletFeatureType = 0 + RuleFilletFeatureType = 1 + FullRoundFilletFeatureType = 2 + +class HemFeatureDefinitionTypes(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + The different types of hems that can be created. + """ + def __init__(self): + pass + UndefinedHemFeatureDefinitionType = 0 + FlatHemFeatureDefinitionType = 1 + OpenHemFeatureDefinitionType = 2 + RolledHemFeatureDefinitionType = 3 + TeardropHemFeatureDefinitionType = 4 + RopeHemFeatureDefinitionType = 5 + DoubleHemFeatureDefinitionType = 6 + class HoleEdgePositions(): """ List of the valid edge positions for holes. @@ -268,6 +482,17 @@ def __init__(self): EdgeMidPointPosition = 1 EdgeEndPointPosition = 2 +class HoleTapTypes(): + """ + List of the valid tap types for holes. + """ + def __init__(self): + pass + SimpleHoleTapType = 0 + ClearanceHoleTapType = 1 + TappedHoleTapType = 2 + TaperTappedHoleTapType = 3 + class HoleTypes(): """ List of the different types of holes. @@ -304,6 +529,9 @@ def __init__(self): JointPlanarBRepFaceGeometry = 6 JointNonPlanarBRepFaceGeometry = 7 JointBetweenTwoPlanesGeometry = 8 + JointByTwoEdgeIntersectionGeometry = 9 + JointTangentBRepFaceGeometry = 10 + JointTangentBRepFaceEdgeGeometry = 11 class JointKeyPointTypes(): """ @@ -316,6 +544,61 @@ def __init__(self): EndKeyPoint = 2 CenterKeyPoint = 3 +class JointMotionTypes(): + """ + List of the various types of motions of joints. + """ + def __init__(self): + pass + BallJointPitchMotionType = 0 + BallJointRollMotionType = 1 + BallJointYawMotionType = 2 + CylindricalJointRotateMotionType = 3 + CylindricalJointSlideMotionType = 4 + PinSlotJointRotateMotionType = 5 + PinSlotJointSlideMotionType = 6 + PlanarJointRotateMotionType = 7 + PlanarJointSlideOneMotionType = 8 + PlanarJointSlideTwoMotionType = 9 + RevoluteJointRotateMotionType = 10 + SliderJointSlideMotionType = 11 + +class JointQuadrantAngleTypes(): + """ + List of the various angle types of geometry that can be used when defining joint geometry + on cylinder or cone, sphere and torus + """ + def __init__(self): + pass + StartJointQuadrantAngleType = 0 + QuarterJointQuadrantAngleType = 1 + MiddleJointQuadrantAngleType = 2 + ThirdQuarterJointQuadrantAngleType = 3 + +class JointTangentFaceEdgePointTypes(): + """ + List of the tangent face types, including cylinder or cone, sphere, torus and spline. + """ + def __init__(self): + pass + StartJointTangentFaceEdgePointType = 0 + QuarterJointTangentFaceEdgePointType = 1 + MiddleJointTangentFaceEdgePointType = 2 + ThirdQuarterJointTangentFaceEdgePointType = 3 + EndJointTangentFaceEdgePointType = 4 + +class JointTangentFaceTypes(): + """ + List of the tangent face types, including cylinder or cone, sphere, torus and spline. + """ + def __init__(self): + pass + NoneJointTangentFaceType = 0 + CylinderOrConeJointTangentFaceType = 1 + SphereJointTangentFaceType = 2 + TorusJointTangentFaceType = 3 + SplineJointTangentFaceType = 4 + class JointTypes(): """ List of the various types of joints. @@ -329,6 +612,7 @@ def __init__(self): PinSlotJointType = 4 PlanarJointType = 5 BallJointType = 6 + InferredJointType = 7 class LineStylePatterns(): """ @@ -345,6 +629,161 @@ 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 LoftEdgeAlignments(): + """ + List of Loft Edge Alignment Options + """ + def __init__(self): + pass + FreeEdgesLoftEdgeAlignment = 0 + AlignEdgesLoftEdgeAlignment = 1 + AlignToSurfaceLoftEdgeAlignment = 2 + +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 MassUnits(): + """ + Valid unit types for mass. + """ + def __init__(self): + pass + GramMassUnits = 0 + KilogramMassUnits = 1 + PoundMassUnits = 2 + OunceMassUnits = 3 + TonMassUnits = 4 + SlugMassUnits = 5 + +class MeshCombineOperationTypes(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specify the combine method for the mesh. + """ + def __init__(self): + pass + JoinMeshCombineType = 0 + CutMeshCombineType = 1 + IntersectMeshCombineType = 2 + MergeMeshCombineType = 3 + +class MeshConvertAccuracyTypes(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specify the resolution for the organic mesh conversion if ByAccuracyMeshConvertResolutionType is selected + """ + def __init__(self): + pass + LowMeshConvertAccuracyType = 0 + MediumMeshConvertAccuracyType = 1 + HighMeshConvertAccuracyType = 2 + PreciseMeshConvertAccuracyType = 3 + +class MeshConvertMethodTypes(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specify the convert method for the mesh. + """ + def __init__(self): + pass + FacetedMeshConvertMethodType = 0 + PrismaticMeshConvertMethodType = 1 + OrganicMeshConvertMethodType = 2 + +class MeshConvertOperationTypes(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specify the operation method for the mesh conversion. + """ + def __init__(self): + pass + ParametricFeatureMeshConvertOperationType = 0 + BaseFeatureMeshConvertOperationType = 1 + +class MeshConvertResolutionTypes(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specify the resolution method for the organic mesh conversion. + """ + def __init__(self): + pass + ByAccuracyMeshConvertResolutionType = 0 + ByFacetNumberMeshConvertResolutionType = 1 + +class MeshGenerateFaceGroupsMethodTypes(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specify the generate face group method for the mesh. + """ + def __init__(self): + pass + FastGenerateFaceGroupsType = 0 + AccurateGenerateFaceGroupsType = 1 + +class MeshReduceMethodTypes(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specify the reduce method for the mesh. + """ + def __init__(self): + pass + AdaptiveReduceType = 0 + UniformReduceType = 1 + +class MeshReduceTargetTypes(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specify what the target criteria for the reduction should be. + """ + def __init__(self): + pass + MaximumDeviationMeshReduceTargetType = 0 + ProportionMeshReduceTargetType = 1 + FaceCountMeshReduceTargetType = 2 + class MeshRefinementSettings(): """ The different refinement settings supported when exporting the design as an STL or 3MF file. @@ -356,6 +795,63 @@ def __init__(self): MeshRefinementLow = 2 MeshRefinementCustom = 3 +class MeshRemeshMethodTypes(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specify the re-mesh method for the mesh. + """ + def __init__(self): + pass + AdaptiveRemeshType = 0 + UniformRemeshType = 1 + +class MeshRepairRebuildTypes(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specify the method for the rebuild type of mesh repair. If AccurateMeshRepairRebuildType is chosen, + an offset can be set. + """ + def __init__(self): + pass + FastMeshRepairRebuildType = 0 + PreserveSharpEdgesMeshRepairRebuildType = 1 + AccurateMeshRepairRebuildType = 2 + BlockyMeshRepairRebuildType = 3 + +class MeshRepairTypes(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specify the main repair type for the mesh. If RebuildMeshRepairType is chosen, other parameters can be set. + """ + def __init__(self): + pass + CloseHolesMeshRepairType = 0 + StitchAndRemoveMeshRepairType = 1 + WrapMeshRepairType = 2 + RebuildMeshRepairType = 3 + +class MeshSeparateTypes(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specifies the output options for separating a mesh body. Only valid if the input is a mesh body. + """ + def __init__(self): + pass + ShellMeshSeparateType = 0 + FaceGroupMeshSeparateType = 1 + class MeshUnits(): """ The unit types that can be specified when importing a .stl or .obj file as a mesh. @@ -371,6 +867,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 @@ -378,6 +876,15 @@ def __init__(self): LinearOffsetCornerType = 1 ExtendedOffsetCornerType = 2 +class ParameterValueTypes(): + """ + Specifies the different types of values that a parameter can be. + """ + def __init__(self): + pass + NumericParameterValueType = 0 + TextParameterValueType = 1 + class PatternComputeOptions(): """ List of the compute options for mirroring and patterning features in the parametric modeling environment. @@ -408,6 +915,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 +936,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. @@ -438,6 +1016,34 @@ def __init__(self): NormalRuledSurfaceType = 1 DirectionRuledSurfaceType = 2 +class RuleFilletRuleTypes(): + """ + List of the rule types of rule fillet. + """ + def __init__(self): + pass + AllEdgesRuleFilletRuleType = 0 + BetweenFacesOrFeaturesRuleFilletRuleType = 1 + +class RuleFilletTopologyTypes(): + """ + List of the topology types of rule fillet. + """ + def __init__(self): + pass + RoundsAndFilletsRuleFilletTopologyType = 0 + RoundsOnlyRuleFilletTopologyType = 1 + FilletsOnlyRuleFilletTopologyType = 2 + +class ShellTypes(): + """ + List of Shell Types + """ + def __init__(self): + pass + SharpOffsetShellType = 0 + RoundedOffsetShellType = 1 + class SilhouetteSplitOperations(): """ List of Silhouette Split feature operations. @@ -448,6 +1054,42 @@ def __init__(self): SilhouetteSplitShelledBodyOperation = 1 SilhouetteSplitSolidBodyOperation = 2 +class SketchCurveConstructionStates(): + """ + Used by the Sketch.setConstructionState method setting the construction state on sketch curves. + """ + def __init__(self): + pass + ToggleSketchCurveConstructionState = 0 + ConstructionSketchCurveConstructionState = 1 + NormalSketchCurveConstructionState = 2 + +class SketchLineCenterlineStates(): + """ + Used by the Sketch.setCenterlineState method setting the centerline state on sketch lines. + """ + def __init__(self): + pass + ToggleSketchLineCenterlineState = 0 + CenterlineSketchLineCenterlineState = 1 + NormalSketchLineCenterlineState = 2 + +class SplineDegrees(): + """ + Defines the options used when specifying the degree of a spline. + """ + def __init__(self): + pass + SplineDegreeOne = 1 + SplineDegreeTwo = 2 + SplineDegreeThree = 3 + SplineDegreeFour = 4 + SplineDegreeFive = 5 + SplineDegreeSix = 6 + SplineDegreeSeven = 7 + SplineDegreeEight = 8 + SplineDegreeNine = 9 + class SplitFaceSplitTypes(): """ List of the ways to split a face using the split face feature. @@ -524,6 +1166,31 @@ def __init__(self): SweepProfileStretchOption = 1 SweepProfileNoScalingOption = 2 +class SweepSolidOrientationTypes(): + """ + The various orientation types when doing a solid sweep. + """ + def __init__(self): + pass + PerpendicularSolidOrientationType = 0 + RigidSolidOrientationType = 1 + AlignedSolidOrientationType = 2 + +class TessellateRefinementTypes(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Specify the refinement setting type for the tessellation process. + """ + def __init__(self): + pass + HighTessellateRefinementType = 0 + MediumTessellateRefinementType = 1 + LowTessellateRefinementType = 2 + CustomTessellateRefinementType = 3 + class TextBoxKeyPoints(): """ Defines the nine key points that exist for a sketch text box and @@ -557,6 +1224,15 @@ def __init__(self): TextStyleItalic = 2 TextStyleUnderline = 4 +class ThickenTypes(): + """ + List of Thicken Types + """ + def __init__(self): + pass + SharpThickenType = 0 + RoundedThickenType = 1 + class ThinExtrudeWallLocation(): """ List of Thin Extrude Wall Locations @@ -569,13 +1245,24 @@ def __init__(self): class ThreadLocations(): """ - List of the types of thread location. + List of the positions of a thread feature when it is not full length. """ def __init__(self): pass 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 +1274,43 @@ 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 UnitSystems(): + """ + Predefined combinations of length and mass units used + for units in the design. + """ + def __init__(self): + pass + CustomUnitSystem = 0 + MillimeterGramUnitSystem = 1 + CentimeterGramUnitSystem = 2 + MeterKilogramUnitSystem = 3 + InchOunceUnitSystem = 4 + FootPoundUnitSystem = 5 + class UntrimLoopTypes(): """ List of Untrim Loop Types. @@ -610,6 +1334,257 @@ def __init__(self): lowerLeftViewCorner = 2 lowerRightViewCorner = 3 +class VolumetricMeshingApproachTypes(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + List of Meshing Approaches for converting a volumetric model to a mesh. + """ + def __init__(self): + pass + VolumetricMeshingAdvancedType = 0 + VolumetricMeshingOriginalType = 1 + +class VolumetricMeshRefinementTypes(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + List of Volumetric Model to Mesh Refinement Types. + """ + def __init__(self): + pass + VolumetricMeshRefinementHighType = 0 + VolumetricMeshRefinementMediumType = 1 + VolumetricMeshRefinementLowType = 2 + VolumetricMeshRefinementCustomType = 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. @@ -631,7 +1606,7 @@ def getMomentsOfInertia(self) -> tuple[bool, float, float, float, float, float, """ Method that, for a sketch, returns the moments of inertia about the sketch origin. For a planar face, this method returns the moments about the world coordinate system origin. - Unit for returned values is kg/cm^2. + Unit for returned values is kg*cm^2. ixx : Output Double that returns the XX partial moment. iyy : Output Double that returns the YY partial moment. izz : Output Double that returns the ZZ partial moment. @@ -643,7 +1618,7 @@ def getMomentsOfInertia(self) -> tuple[bool, float, float, float, float, float, return (bool(), float(), float(), float(), float(), float(), float()) def getCentroidMomentsOfInertia(self) -> tuple[bool, float, float, float, float, float, float]: """ - Method that returns the moments of inertia about the centroid. Unit for returned values is kg/cm^2. + Method that returns the moments of inertia about the centroid. Unit for returned values is kg*cm^2. ixx : Output Double that returns the XX partial moment. iyy : Output Double that returns the YY partial moment. izz : Output Double that returns the ZZ partial moment. @@ -655,7 +1630,7 @@ def getCentroidMomentsOfInertia(self) -> tuple[bool, float, float, float, float, return (bool(), float(), float(), float(), float(), float(), float()) def getPrincipalMomentsOfInertia(self) -> tuple[bool, float, float, float]: """ - Method that returns the moments of inertia about the principal axes. Unit for returned values is kg/cm^2. + Method that returns the moments of inertia about the principal axes. Unit for returned values is kg*cm^2. i1 : Output Double that specifies the first moment of inertia. i2 : Output Double that specifies the second moment of inertia. i3 : Output Double that specifies the third moment of inertia. @@ -704,87 +1679,839 @@ def accuracy(self) -> CalculationAccuracy: """ return CalculationAccuracy() -class AsBuiltJoint(core.Base): +class ArrangeComponent(core.Base): """ - Represent an as-built joint. + Defines a component within an arrangement. This specifies an occurrence along with additional + arrangement information. This object is the API equivalent of a single line within the component + list shown in the Arrange dialog. This object is used for both the creation of a new Arrange + feature and querying and modifying an existing Arrange feature. """ def __init__(self): pass @staticmethod - def cast(arg) -> AsBuiltJoint: - return AsBuiltJoint() + def cast(arg) -> ArrangeComponent: + return ArrangeComponent() + def setRotationUsingEdge(self, edge: BRepEdge) -> bool: + """ + Sets the rotation angle using the specified edge such that the edge + is pointing in the zero rotation angle. This is a convenience method to + set the rotation angle. The rotation property can be used to accomplish + the same result. + + This is only valid for 2D True Shape arrangements and will fail for + 2D rectangular and 3D arrangements. + edge : The BRepEdge object being used to define rotation of the component. + Returns true if successful. + """ + return bool() def deleteMe(self) -> bool: """ - Deletes this as-built joint. - Returns true if the delete was successful. + Deletes this ArrangeComponent from the arrangement. + Returns true if the deletion was successful. """ return bool() - def setAsRigidJointMotion(self) -> bool: + @property + def occurrenceOrFace(self) -> core.Base: """ - Redefines the relationship between the two joint geometries as a rigid joint. + The BRepFace or Occurrence that was used to identify this ArrangeComponent. + """ + return core.Base() + @property + def occurrence(self) -> Occurrence: + """ + Returns the Occurrence associated with this ArrangeComponent. If an Occurrence was used to define + this ArrangeComponent, this will return the same thing as the occurrenceOrFace. If a BRepFace was + used to define this ArrangeComponent, this will return the Occurrence the face is in. This is a + convenience property to make accessing the occurrence simpler. + """ + return Occurrence() + @property + def quantity(self) -> int: + """ + Specifies the quantity of this component to use in the arrange. This defaults + to -1, which indicates that the global quantity is to be used. - To use this method, you need to position the timeline marker to immediately before this as-built joint. - This can be accomplished using the following code: thisAsBuiltJoint.timelineObject.rollTo(True) - Returns true if successful. + For a 3D arrange, this property is ignored and the quantity is always one. """ - return bool() - def setAsRevoluteJointMotion(self, rotationAxis: JointDirections, geometry: JointGeometry, customRotationAxisEntity: core.Base) -> bool: + return int() + @quantity.setter + def quantity(self, value: int): """ - Redefines the relationship between the two joint geometries as a revolute joint. + Specifies the quantity of this component to use in the arrange. This defaults + to -1, which indicates that the global quantity is to be used. - To use this method, you need to position the timeline marker to immediately before this as-built joint. - This can be accomplished using the following code: thisAsBuiltJoint.timelineObject.rollTo(True) - rotationAxis : Specifies which axis the rotation is around. If this is set to CustomJointDirection then the - customRotationAxisEntity argument must also be provided. - geometry : Redefines the joint geometry. If not provided, the existing geometry is used. This argument is - required if the current joint motion is rigid. - customRotationAxisEntity : If the rotationAxis is customAxisEntity this argument is used to specify the entity that defines - the custom axis of rotation. This can be several types of entities that an axis can be derived - from. - Returns true if the operation was successful. + For a 3D arrange, this property is ignored and the quantity is always one. """ - return bool() - def setAsSliderJointMotion(self, sliderDirection: JointDirections, geometry: JointGeometry, customSliderDirectionEntity: core.Base) -> bool: + pass + @property + def isDirectionFlipped(self) -> bool: """ - Redefines the relationship between the two joint geometries as a slider joint. + Specifies if the direction is flipped from it's default direction. - To use this method, you need to position the timeline marker to immediately before this as-built joint. - This can be accomplished using the following code: thisAsBuiltJoint.timelineObject.rollTo(True) - sliderDirection : Specifies which axis the slide direction is along. If this is set to CustomJointDirection then the - customSliderDirectionEntity argument must also be provided. - geometry : Redefines the joint geometry. If not provided, the existing geometry is used. This argument is - required if the current joint motion is rigid. - customSliderDirectionEntity : If the sliderDirection is CustomJointDirection this argument is used to specify the entity that defines - the custom slider direction. This can be several types of entities that can define a direction. - Returns true if the operation was successful. + For a component defined by a face the default direction is defined by the selected face + and the isGlobalDirectionFaceUp property of the Arrange2DDefinition associated with the + parent ArrangeFeature object. + + For a component defined by an occurrence, the default direction orients the occurrence + such that the largest face points downward. + + For a 3D arrange, this property is ignored and the orientation of the part is + the same as it exists in the original assembly. """ return bool() - def setAsCylindricalJointMotion(self, rotationAxis: JointDirections, geometry: JointGeometry, customRotationAxisEntity: core.Base) -> bool: + @isDirectionFlipped.setter + def isDirectionFlipped(self, value: bool): """ - Redefines the relationship between the two joint geometries as a cylindrical joint. + Specifies if the direction is flipped from it's default direction. - To use this method, you need to position the timeline marker to immediately before this as-built joint. - This can be accomplished using the following code: thisAsBuiltJoint.timelineObject.rollTo(True) - rotationAxis : Specifies which axis the rotation is around. If this is set to CustomJointDirection then the - customRotationAxisEntity argument must also be provided. - geometry : Redefines the joint geometry. If not provided, the existing geometry is used. This argument is - required if the current joint motion is rigid. - customRotationAxisEntity : If the rotationAxis is customAxisEntity this argument is used to specify the entity that defines - the custom axis of rotation. This can be several types of entities that an axis can be derived - from. - Returns true if the operation was successful. + For a component defined by a face the default direction is defined by the selected face + and the isGlobalDirectionFaceUp property of the Arrange2DDefinition associated with the + parent ArrangeFeature object. + + For a component defined by an occurrence, the default direction orients the occurrence + such that the largest face points downward. + + For a 3D arrange, this property is ignored and the orientation of the part is + the same as it exists in the original assembly. """ - return bool() - def setAsPinSlotJointMotion(self, rotationAxis: JointDirections, slideDirection: JointDirections, geometry: JointGeometry, customRotationAxisEntity: core.Base, customSlideDirectionEntity: core.Base) -> bool: + pass + @property + def rotationType(self) -> ArrangeRotationTypes: """ - Redefines the relationship between the two joint geometries as a pin-slot joint. + Gets and sets the rotation type for this ArrangeComponent. This defaults to + use the global rotation type defined for the arrangement. - To use this method, you need to position the timeline marker to immediately before this as-built joint. - This can be accomplished using the following code: thisAsBuiltJoint.timelineObject.rollTo(True) - rotationAxis : Specifies which axis the rotation is around. If this is set to CustomJointDirection then the - customRotationAxisEntity argument must also be provided. - slideDirection : Specifies which axis the slide direction is along. If this is set to CustomJointDirection then the - customSlideDirectionEntity argument must also be provided. + For a 3D arrange, this property is ignored. + """ + return ArrangeRotationTypes() + @rotationType.setter + def rotationType(self, value: ArrangeRotationTypes): + """ + Gets and sets the rotation type for this ArrangeComponent. This defaults to + use the global rotation type defined for the arrangement. + + For a 3D arrange, this property is ignored. + """ + pass + @property + def rotation(self) -> float: + """ + Gets and sets the rotation angle of this ArrangeComponent. The value is defined + in Radians, is relative to the zero direction vector returned by the + zeroDirectionVector property, and is in a counterclockwise direction. + + This is only valid for 2D True Shape arrangements and is ignored for + 2D rectangular and 3D arrangements. + """ + return float() + @rotation.setter + def rotation(self, value: float): + """ + Gets and sets the rotation angle of this ArrangeComponent. The value is defined + in Radians, is relative to the zero direction vector returned by the + zeroDirectionVector property, and is in a counterclockwise direction. + + This is only valid for 2D True Shape arrangements and is ignored for + 2D rectangular and 3D arrangements. + """ + pass + @property + def zeroDirection(self) -> core.Vector3D: + """ + Returns a vector that is the zero degree direction of this + ArrangeComponent. + """ + return core.Vector3D() + @property + def upDirection(self) -> core.Vector3D: + """ + Returns a vector that is the up direction of this ArrangeComponent. + """ + return core.Vector3D() + @property + def priority(self) -> ArrangePriorities: + """ + Specifies the nesting priority for this component. + + For a 3D arrange, this property is ignored and setting it will fail. + """ + return ArrangePriorities() + @priority.setter + def priority(self, value: ArrangePriorities): + """ + Specifies the nesting priority for this component. + + For a 3D arrange, this property is ignored and setting it will fail. + """ + pass + @property + def isFiller(self) -> bool: + """ + Specifies if this component will be used to fill any left over + empty space in the available envelopes. + + This is only valid for 2D True Shape arrangements and is ignored for + 2D rectangular and 3D arrangements. + """ + return bool() + @isFiller.setter + def isFiller(self, value: bool): + """ + Specifies if this component will be used to fill any left over + empty space in the available envelopes. + + This is only valid for 2D True Shape arrangements and is ignored for + 2D rectangular and 3D arrangements. + """ + pass + @property + def parentArrangeFeature(self) -> ArrangeFeature: + """ + Returns the ArrangeFeature this ArrangeComponent is associated with. This + property returns null in the case where a feature hasn't been created yet + and there is only an ArrangeFeatureInput. + """ + return ArrangeFeature() + +class ArrangeComponents(core.Base): + """ + The collection of ArrangeComponent objects associated with an arrangement. This provides + access to existing ArrangeComponent objects and supports adding new components to the + the arrangement. An ArrangeComponent object defines an occurrence along with additional + arrangement information. This object is used for both the creation of a new Arrange + feature and querying and modifying an existing Arrange feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ArrangeComponents: + return ArrangeComponents() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ArrangeComponent: + return None + def __iter__(self) -> Iterator[ArrangeComponent]: + return None + def item(self, index: int) -> ArrangeComponent: + """ + Returns an ArrangeComponent 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 ArrangeComponent() + def add(self, occurrenceOrFace: core.Base) -> ArrangeComponent: + """ + Adds a new ArrangeComponent object to the collection. + occurrenceOrFace : For a 2D arrange this can be an Occurrence or BRepFace object that defines which component to use. + If a BRepFace object is used, the face is used to orient the part in the arrangement and will face + up or down depending on the isGlobalDirectionFaceUp property on the ArrangeFeature2DInput object. + + For a 2D arrange, if an Occurrence is provided, the Occurrence will be oriented in the arrangement such that the + largest face points downward. + + For a 3D arrange this can be an Occurrence or BRepFace object but if a BRepFace is provided it does + not define the orientation but is only used to get the parent Occurrence. For a 3D arrange the arranged + occurrences have the same orientation as the original occurrence but are positioned within the 3D envelope. + Returns the created ArrangeComponent where you can use properties on it to define the various + other settings supported to control how the component is arranged. + """ + return ArrangeComponent() + @property + def count(self) -> int: + """ + Returns the number of ArrangeComponent objects in the collection. + """ + return int() + +class ArrangeDefinition(core.Base): + """ + The ArrangeDefinition object is the base class for the ArrangeDefinition2D and ArrangeDefinition3D + objects. It provides access to the information that defines an existing Arrange feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ArrangeDefinition: + return ArrangeDefinition() + @property + def solverType(self) -> ArrangeSolverTypes: + """ + Gets the type of arrange feature defined by this definition. + """ + return ArrangeSolverTypes() + @property + def isCreateCopies(self) -> bool: + """ + Gets if the original components were moved to create the arrangement or copied were created. + This value can only be set when creating a new arrangement. + """ + return bool() + +class ArrangeDefinitionInput(core.Base): + """ + The ArrangeDefinition object is the base class for the ArrangeDefinition2D and ArrangeDefinition3D + objects. It provides access to the information that defines an existing Arrange feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ArrangeDefinitionInput: + return ArrangeDefinitionInput() + @property + def solverType(self) -> ArrangeSolverTypes: + """ + Gets the type of arrange feature defined by this definition. + """ + return ArrangeSolverTypes() + @property + def isCreateCopies(self) -> bool: + """ + Gets and set if the original components will be moved or copied to create the arrangement. + This defaults to true. + """ + return bool() + @isCreateCopies.setter + def isCreateCopies(self, value: bool): + """ + Gets and set if the original components will be moved or copied to create the arrangement. + This defaults to true. + """ + pass + +class ArrangeEnvelopeDefinition(core.Base): + """ + The ArrangeEnvelope object is the base class for the different types of arrangement + envelopes and provides access to the information that defines the envelope(s). This + defines the settings of the envelope and the EnvelopeResult provides access to the + resulting envelope and its contents. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ArrangeEnvelopeDefinition: + return ArrangeEnvelopeDefinition() + @property + def frameWidth(self) -> ModelParameter: + """ + Returns the parameter that controls the width of the envelope frame. This defines the + offset distance of the objects from the edge of the frame. You can modify the value by + using the properties on the returned ModelParameter object. + """ + return ModelParameter() + @property + def objectSpacing(self) -> ModelParameter: + """ + Returns the parameter that controls the space between objects in the arrangement. + You can modify the value by using the properties on the returned ModelParameter object. + """ + return ModelParameter() + @property + def placementClearance(self) -> ModelParameter: + """ + Returns the parameter that controls the offset of the objects from the base plane of + the arrangement (the "up" direction). You can modify the value by using the properties on the returned + ModelParameter object. + """ + return ModelParameter() + @property + def isPartialArrangeAllowed(self) -> bool: + """ + Gets and sets if a partial arrange is allowed for this envelope. + """ + return bool() + @isPartialArrangeAllowed.setter + def isPartialArrangeAllowed(self, value: bool): + """ + Gets and sets if a partial arrange is allowed for this envelope. + """ + pass + @property + def parentArrange(self) -> ArrangeFeature: + """ + Returns the parent ArrangeFeature this envelope is associated with. + """ + return ArrangeFeature() + +class ArrangeEnvelopeInput(core.Base): + """ + The base class used to define the arrange envelope when creating an Arrange feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ArrangeEnvelopeInput: + return ArrangeEnvelopeInput() + @property + def isPartialArrangeAllowed(self) -> bool: + """ + Gets and sets if a partial arrange is allowed. If true, it will still create a result when there is not + enough space on the envelope to fit all of the components. Components are arranged until all the + available space is used up. The components that were not included in the partial arrangement are + highlighted in the components list. If the envelope size increases, the arrangement recalculates + to include the components that did not previously fit in the arrangement. + """ + return bool() + @isPartialArrangeAllowed.setter + def isPartialArrangeAllowed(self, value: bool): + """ + Gets and sets if a partial arrange is allowed. If true, it will still create a result when there is not + enough space on the envelope to fit all of the components. Components are arranged until all the + available space is used up. The components that were not included in the partial arrangement are + highlighted in the components list. If the envelope size increases, the arrangement recalculates + to include the components that did not previously fit in the arrangement. + """ + pass + @property + def placementClearance(self) -> core.ValueInput: + """ + Specifies the distance of the components and the bottom of the envelope. This raises the components + above the X-Y plane of the specified construction plane. + + This value will become a parameter when the arrangement is created. If the ValueInput is created + using a real number it is in centimeters. If you use a string, it is evaluated the same as a value + would be in the command dialog and uses the current document units. For example, if the document + units are inch and you specific "0.25" it will result in 1/4 inch clearance. You can also specify + the units as part of the expression, such as "0.25 in + 2 mm". And you can define equations like + "ToolDia + 2 mm" where "ToolDia" is an existing parameter. + """ + return core.ValueInput() + @placementClearance.setter + def placementClearance(self, value: core.ValueInput): + """ + Specifies the distance of the components and the bottom of the envelope. This raises the components + above the X-Y plane of the specified construction plane. + + This value will become a parameter when the arrangement is created. If the ValueInput is created + using a real number it is in centimeters. If you use a string, it is evaluated the same as a value + would be in the command dialog and uses the current document units. For example, if the document + units are inch and you specific "0.25" it will result in 1/4 inch clearance. You can also specify + the units as part of the expression, such as "0.25 in + 2 mm". And you can define equations like + "ToolDia + 2 mm" where "ToolDia" is an existing parameter. + """ + pass + @property + def frameWidth(self) -> core.ValueInput: + """ + Specifies the minimum distance between the components in the arrangement and the envelope frame. + + This value will become a parameter when the arrangement is created. If the ValueInput is created + using a real number it is in centimeters. If you use a string, it is evaluated the same as a value + would be in the command dialog and uses the current document units. For example, if the document + units are inch and you specific "0.25" it will result in 1/4 inch clearance. You can also specify + the units as part of the expression, such as "0.25 in + 2 mm". And you can define equations like + "ToolDia + 2 mm" where "ToolDia" is an existing parameter. + """ + return core.ValueInput() + @frameWidth.setter + def frameWidth(self, value: core.ValueInput): + """ + Specifies the minimum distance between the components in the arrangement and the envelope frame. + + This value will become a parameter when the arrangement is created. If the ValueInput is created + using a real number it is in centimeters. If you use a string, it is evaluated the same as a value + would be in the command dialog and uses the current document units. For example, if the document + units are inch and you specific "0.25" it will result in 1/4 inch clearance. You can also specify + the units as part of the expression, such as "0.25 in + 2 mm". And you can define equations like + "ToolDia + 2 mm" where "ToolDia" is an existing parameter. + """ + pass + @property + def objectSpacing(self) -> core.ValueInput: + """ + Specifies the minimum clearance between components in the arrangement. for a 3D layout this + also specified the distance between the components in the Z direction. + + This value will become a parameter when the arrangement is created. If the ValueInput is created + using a real number it is in centimeters. If you use a string, it is evaluated the same as a value + would be in the command dialog and uses the current document units. For example, if the document + units are inch and you specific "0.25" it will result in 1/4 inch clearance. You can also specify + the units as part of the expression, such as "0.25 in + 2 mm". And you can define equations like + "ToolDia + 2 mm" where "ToolDia" is an existing parameter. + """ + return core.ValueInput() + @objectSpacing.setter + def objectSpacing(self, value: core.ValueInput): + """ + Specifies the minimum clearance between components in the arrangement. for a 3D layout this + also specified the distance between the components in the Z direction. + + This value will become a parameter when the arrangement is created. If the ValueInput is created + using a real number it is in centimeters. If you use a string, it is evaluated the same as a value + would be in the command dialog and uses the current document units. For example, if the document + units are inch and you specific "0.25" it will result in 1/4 inch clearance. You can also specify + the units as part of the expression, such as "0.25 in + 2 mm". And you can define equations like + "ToolDia + 2 mm" where "ToolDia" is an existing parameter. + """ + pass + +class ArrangeFeatureInput(core.Base): + """ + The ArrangeFeatureInput object is the base class for the different types of input + objects used to create an arrange feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ArrangeFeatureInput: + return ArrangeFeatureInput() + def setPlaneEnvelope(self, plane: ConstructionPlane, length: core.ValueInput, width: core.ValueInput) -> Arrange2DPlaneEnvelopeInput: + """ + Defines an envelope input defined by a plane for the arrange feature. Only a single envelope input can exist at a time. Calling + this method will cause any existing envelope object input that has been created for this input to be invalid. + plane : The Construction plane the envelope will be on. + length : The length of the envelope. This is the size of the envelope as measured along the X axis of the specified + construction plane. + + This value will become a parameter when the arrangement is created. If the ValueInput is created using a + real number it is in centimeters. If you use a string, it is evaluated the same as a value would be in the command + dialog and uses the current document units. For example, if the document units are inch and you specific "0.25" it + will result in 1/4 inch clearance. Using a string, you can also specify the units as part of the expression, + such as "0.25 in + 2 mm". And you can define equations like "PartSize + 2 mm" where "PartSize" is an existing parameter. + width : The width of the envelope. This is the size of the envelope as measured along the Y axis of the specified + construction plane. + + This value will become a parameter when the arrangement is created. If the ValueInput is created using a + real number it is in centimeters. If you use a string, it is evaluated the same as a value would be in the command + dialog and uses the current document units. For example, if the document units are inch and you specific "0.25" it + will result in 1/4 inch clearance. Using a string, you can also specify the units as part of the expression, + such as "0.25 in + 2 mm". And you can define equations like "PartSize + 2 mm" where "PartSize" is an existing parameter. + Returns the created Arrange2DPlaneEnvelopeInput object or null if the creation fails. + """ + return Arrange2DPlaneEnvelopeInput() + def setProfileOrFaceEnvelope(self, profilesOrFaces: list[core.Base]) -> Arrange2DProfileOrFaceEnvelopeInput: + """ + Defines an envelope defined by one or more profiles or planar faces. Only a single envelope input can exist at time. + Calling this method will cause any existing envelope input object to be invalid. + profilesOrFaces : An array of Profile and planar BRepFace objects that define the shape of the available envelopes. + Returns the created Arrange2DProfileOrFaceEnvelopeInput object or null if the creation fails. + """ + return Arrange2DProfileOrFaceEnvelopeInput() + def set3DEnvelope(self, plane: ConstructionPlane, length: core.ValueInput, width: core.ValueInput, height: core.ValueInput) -> Arrange3DEnvelopeInput: + """ + Defines a 3D envelope input. Only a single envelope input can exist at time. Calling this method will + cause any existing envelope input object to be invalid. + plane : The Construction plane the envelope will be on. + length : The length of the envelope. This is the size of the envelope as measured along the X axis of the specified + construction plane. + + This value will become a parameter when the arrangement is created. If the ValueInput is created using a + real number it is in centimeters. If you use a string, it is evaluated the same as a value would be in the command + dialog and uses the current document units. For example, if the document units are inch and you specific "0.25" it + will result in 1/4 inch clearance. Using a string, you can also specify the units as part of the expression, + such as "0.25 in + 2 mm". And you can define equations like "PartSize + 2 mm" where "PartSize" is an existing parameter. + width : The width of the envelope. This is the size of the envelope as measured along the Y axis of the specified + construction plane. + + This value will become a parameter when the arrangement is created. If the ValueInput is created using a + real number it is in centimeters. If you use a string, it is evaluated the same as a value would be in the command + dialog and uses the current document units. For example, if the document units are inch and you specific "0.25" it + will result in 1/4 inch clearance. Using a string, you can also specify the units as part of the expression, + such as "0.25 in + 2 mm". And you can define equations like "PartSize + 2 mm" where "PartSize" is an existing parameter. + height : The height of the envelope. This is the size of the envelope as measured along the Z axis of the specified + construction plane. + + This value will become a parameter when the arrangement is created. If the ValueInput is created using a + real number it is in centimeters. If you use a string, it is evaluated the same as a value would be in the command + dialog and uses the current document units. For example, if the document units are inch and you specific "0.25" it + will result in 1/4 inch clearance. Using a string, you can also specify the units as part of the expression, + such as "0.25 in + 2 mm". And you can define equations like "PartSize + 2 mm" where "PartSize" is an existing parameter. + Returns the created Arrange3DEnvelopeInput object or null if the creation fails. + """ + return Arrange3DEnvelopeInput() + @property + def solverType(self) -> ArrangeSolverTypes: + """ + Returns the arrange feature solver type defined by this input. + """ + return ArrangeSolverTypes() + @property + def definition(self) -> ArrangeDefinitionInput: + """ + Returns a definition input object that provides access to the information to define an arrange feature. + This will return different types of definition inputs depending on the solver type specified when + creating the input. + """ + return ArrangeDefinitionInput() + @property + def arrangeComponents(self) -> ArrangeComponents: + """ + Returns the ArrangeComponents object associated with this input. Use this to add and define + the components that will be arranged. + """ + return ArrangeComponents() + +class ArrangeFeatures(core.Base): + """ + Provides access to the Arrange features in a component and provides the functionality + to create new Arrange features + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ArrangeFeatures: + return ArrangeFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ArrangeFeature: + return None + def __iter__(self) -> Iterator[ArrangeFeature]: + return None + def item(self, index: int) -> ArrangeFeature: + """ + Returns the specified Arrange 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 ArrangeFeature() + def itemByName(self, name: str) -> ArrangeFeature: + """ + Returns the specified Arrange feature using the name of the feature. + name : The name of the Arrange feature as seen in the timeline. + Returns the specified Arrange feature, if it exists. Otherwise it returns null. + """ + return ArrangeFeature() + def createInput(self, solverType: ArrangeSolverTypes) -> ArrangeFeatureInput: + """ + Creates a new ArrangeFeatureInput object. An ArrangeFeatureInput object is the logical equivalent to the + command dialog when creating an Arrange feature. It provides access to the various options and collects + all the required input when creating an Arrange feature. Once fully defined, you pass this into the add method + to create the Arrange feature. + solverType : Specify if the input will be used to define a "2D True Shape", "2D Rectangular", or "3D" type of arrange feature. + Returns an ArrangeFeatureInput object or null in the case of failure. + """ + return ArrangeFeatureInput() + def add(self, input: ArrangeFeatureInput) -> ArrangeFeature: + """ + Creates a new Arrange feature. Use the create2DInput or create3DInput method to first create an input object and fully + define the required input. Then, pass that input object to the add method to create the Arrange feature. + input : The ArrangeFeature2DInput or ArrangeFeature3DInput object that defines the required information needed to create a new Arrange feature. + An ArrangeFeatureInput object is the logical equivalent to the command dialog when creating an Arrange feature. + It provides access to the various options and collects all of the required input when creating an Arrange feature and + call the add method is the API equivalent to clicking the OK button on the command dialog to create the Arrange feature. + Returns the newly created ArrangeFeature object. + """ + return ArrangeFeature() + @property + def count(self) -> int: + """ + Returns the number of Arrange features in the component. + """ + return int() + +class ArrangeOccurrenceResult(core.Base): + """ + The ArrangeOccurrence object represents a single occurrence within an Arrange + envelope. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ArrangeOccurrenceResult: + return ArrangeOccurrenceResult() + @property + def occurrence(self) -> Occurrence: + """ + The Occurrence object in the Arrange envelope. + """ + return Occurrence() + @property + def arrangeComponent(self) -> ArrangeComponent: + """ + The ArrangeComponent from the Arrange definition that resulted in the + create of this occurrence. + """ + return ArrangeComponent() + @property + def parentEnvelope(self) -> ArrangeResultEnvelope: + """ + The Arrange envelope this occurrence is within. + """ + return ArrangeResultEnvelope() + +class ArrangeOccurrenceResults(core.Base): + """ + A collection that contains the occurrences in an Arrange envelope. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ArrangeOccurrenceResults: + return ArrangeOccurrenceResults() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ArrangeOccurrenceResult: + return None + def __iter__(self) -> Iterator[ArrangeOccurrenceResult]: + return None + def item(self, index: int) -> ArrangeOccurrenceResult: + """ + Returns the specified Arrange occurrence 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 ArrangeOccurrenceResult() + @property + def count(self) -> int: + """ + Returns the number of Arrange occurrences in the collection. + """ + return int() + +class ArrangeResultEnvelope(core.Base): + """ + The ArrangeResult object represents the results of an arrangement + for a single envelope. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ArrangeResultEnvelope: + return ArrangeResultEnvelope() + @property + def name(self) -> str: + """ + Gets and sets the name of the envelope as seen in the browser. + """ + return str() + @name.setter + def name(self, value: str): + """ + Gets and sets the name of the envelope as seen in the browser. + """ + pass + @property + def occurrences(self) -> ArrangeOccurrenceResults: + """ + Returns a collection object of the occurrences in this envelope. + """ + return ArrangeOccurrenceResults() + @property + def parentFeature(self) -> ArrangeFeature: + """ + Returns the ArrangeFeature object this result is for. + """ + return ArrangeFeature() + @property + def envelopeDefinition(self) -> ArrangeEnvelopeDefinition: + """ + Returns the envelope definition that provides the settings for this envelope. + + To use this property, you need to position the timeline marker immediately before the Arrange feature. + This can be accomplished using the following code: arrangeFeature.timelineObject.rollTo(True) + """ + return ArrangeEnvelopeDefinition() + +class ArrangeResultEnvelopes(core.Base): + """ + Provides access to the results of an arrangement. For 3D arrangements, this will always + contain a single result. For plane or profile envelopes this can contain multiple envelope results. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ArrangeResultEnvelopes: + return ArrangeResultEnvelopes() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ArrangeResultEnvelope: + return None + def __iter__(self) -> Iterator[ArrangeResultEnvelope]: + return None + def item(self, index: int) -> ArrangeResultEnvelope: + """ + Returns the specified Arrange envelope result 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 ArrangeResultEnvelope() + @property + def count(self) -> int: + """ + Returns the number of Arrange envelope results for this Arrange feature. + """ + return int() + +class AsBuiltJoint(core.Base): + """ + Represent an as-built joint. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> AsBuiltJoint: + return AsBuiltJoint() + def deleteMe(self) -> bool: + """ + Deletes this as-built joint. + Returns true if the delete was successful. + """ + return bool() + def setAsRigidJointMotion(self) -> bool: + """ + Redefines the relationship between the two joint geometries as a rigid joint. + + To use this method, you need to position the timeline marker to immediately before this as-built joint. + This can be accomplished using the following code: thisAsBuiltJoint.timelineObject.rollTo(True) + Returns true if successful. + """ + return 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. + + To use this method, you need to position the timeline marker to immediately before this as-built joint. + This can be accomplished using the following code: thisAsBuiltJoint.timelineObject.rollTo(True) + rotationAxis : Specifies which axis the rotation is around. If this is set to CustomJointDirection then the + customRotationAxisEntity argument must also be provided. + geometry : Redefines the joint geometry. If not provided, the existing geometry is used. This argument is + required if the current joint motion is rigid. + customRotationAxisEntity : If the rotationAxis is customAxisEntity this argument is used to specify the entity that defines + the custom axis of rotation. This can be several types of entities that an axis can be derived + from. + Returns true if the operation was successful. + """ + return 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. + + To use this method, you need to position the timeline marker to immediately before this as-built joint. + This can be accomplished using the following code: thisAsBuiltJoint.timelineObject.rollTo(True) + sliderDirection : Specifies which axis the slide direction is along. If this is set to CustomJointDirection then the + customSliderDirectionEntity argument must also be provided. + geometry : Redefines the joint geometry. If not provided, the existing geometry is used. This argument is + required if the current joint motion is rigid. + customSliderDirectionEntity : If the sliderDirection is CustomJointDirection this argument is used to specify the entity that defines + the custom slider direction. This can be several types of entities that can define a direction. + Returns true if the operation was successful. + """ + return 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. + + To use this method, you need to position the timeline marker to immediately before this as-built joint. + This can be accomplished using the following code: thisAsBuiltJoint.timelineObject.rollTo(True) + rotationAxis : Specifies which axis the rotation is around. If this is set to CustomJointDirection then the + customRotationAxisEntity argument must also be provided. + geometry : Redefines the joint geometry. If not provided, the existing geometry is used. This argument is + required if the current joint motion is rigid. + customRotationAxisEntity : If the rotationAxis is customAxisEntity this argument is used to specify the entity that defines + the custom axis of rotation. This can be several types of entities that an axis can be derived + from. + Returns true if the operation was successful. + """ + return 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. + + To use this method, you need to position the timeline marker to immediately before this as-built joint. + This can be accomplished using the following code: thisAsBuiltJoint.timelineObject.rollTo(True) + rotationAxis : Specifies which axis the rotation is around. If this is set to CustomJointDirection then the + customRotationAxisEntity argument must also be provided. + slideDirection : Specifies which axis the slide direction is along. If this is set to CustomJointDirection then the + customSlideDirectionEntity argument must also be provided. geometry : Redefines the joint geometry. If not provided, the existing geometry is used. This argument is required if the current joint motion is rigid. customRotationAxisEntity : If the rotationAxis is customAxisEntity this argument is used to specify the entity that defines @@ -794,7 +2521,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 +2541,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. @@ -983,6 +2710,24 @@ def entityToken(self) -> str: method to get the two entities identified by the tokens and then compare them. """ return str() + @property + def transform(self) -> core.Matrix3D: + """ + Returns the position and orientation of the joint geometry associated with this as-built joint. + This is returned as a 3D matrix which provides the origin and the X, Y, and Z axis vectors of the + coordinate system. + + This property is especially useful in cases where the JointGeometry cannot be obtained. This can + happen when the model has been modified in a way where the geometry used to create the joint is + no longer available. + """ + return core.Matrix3D() + @property + def motionLinks(self) -> list[MotionLink]: + """ + Returns the MotionLink objects that this joint is involved in. + """ + return [MotionLink()] class AsBuiltJointInput(core.Base): """ @@ -999,7 +2744,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 +2755,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 +2765,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 +2776,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 +2790,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 +2805,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 +2872,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 +2909,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. @@ -1201,6 +2958,226 @@ def count(self) -> int: """ return int() +class AssemblyConstraint(core.Base): + """ + Represents an assembly constraint. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> AssemblyConstraint: + return AssemblyConstraint() + def deleteMe(self) -> bool: + """ + Deletes this assembly constraint. + Returns true if the delete is successful. + """ + return bool() + def createForAssemblyContext(self, occurrence: Occurrence) -> AssemblyConstraint: + """ + 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 AssemblyConstraint() + @property + def name(self) -> str: + """ + Gets and sets the name of the assembly constraint. 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 assembly constraint. This is the name seen in the browser and timeline. + """ + pass + @property + def geometricRelationships(self) -> GeometricRelationships: + """ + Returns the set of geometric relationships used for this assembly constraint. + """ + return GeometricRelationships() + @property + def parentComponent(self) -> Component: + """ + Returns the parent component that owns this assembly constraint. + """ + return Component() + @property + def timelineObject(self) -> TimelineObject: + """ + Returns the timeline object associated with this assembly constraint. + """ + return TimelineObject() + @property + def nativeObject(self) -> AssemblyConstraint: + """ + 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 AssemblyConstraint() + @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 assembly constraint is suppressed. If suppressed, + all of the assembly constraints within the will be suppressed. + """ + return bool() + @isSuppressed.setter + def isSuppressed(self, value: bool): + """ + Gets and sets if this assembly constraint is suppressed. If suppressed, + all of the assembly constraints within the will be suppressed. + """ + pass + @property + def attributes(self) -> core.Attributes: + """ + Returns the collection of attributes associated with this assembly constraint. + """ + return core.Attributes() + @property + def healthState(self) -> FeatureHealthStates: + """ + Returns the current health state of the assembly constraint. + """ + 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 entityToken(self) -> str: + """ + Returns a token for the assembly constraint object. This can be saved and used at a later + time with the Design.findEntityByToken method to get back the same assembly constraint. + + 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 isLightBulbOn(self) -> bool: + """ + Gets and sets if the light bulb of this assembly constraint, as displayed in the browser, is on or off. + An assembly constraint will only be visible if the light bulb is switched on. However, + the light bulb can be on and the assembly constraint still invisible if a higher level occurrence + in the assembly context is not visible because its light bulb is off or the light bulb of the parent Joints + folder is off. + """ + return bool() + @isLightBulbOn.setter + def isLightBulbOn(self, value: bool): + """ + Gets and sets if the light bulb of this assembly constraint, as displayed in the browser, is on or off. + An assembly constraint will only be visible if the light bulb is switched on. However, + the light bulb can be on and the assembly constraint still invisible if a higher level occurrence + in the assembly context is not visible because its light bulb is off or the light bulb of the parent Joints + folder is off. + """ + pass + @property + def isVisible(self) -> bool: + """ + Gets whether the assembly constraint is visible. To change the visibility see the isLightBulbOn property. + This property is affected by the assembly context. + """ + return bool() + +class AssemblyConstraintInput(core.Base): + """ + Defines all of the information required to create a new assembly constraint. This object provides + equivalent functionality to the Assembly Relationships command dialog in that it gathers the required + information to create an assembly constraint. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> AssemblyConstraintInput: + return AssemblyConstraintInput() + @property + def geometricRelationships(self) -> GeometricRelationships: + """ + Returns the collection object used to define the geometric relationships that + the constraints will be inferred from. A geometric relationship defines a pair of entities, + if the relationships is flipped, and the offset or angle value. + """ + return GeometricRelationships() + +class AssemblyConstraints(core.Base): + """ + The collection of assembly constraints in this component. This provides access to all existing + assembly constraints and supports the ability to create new assembly constraints. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> AssemblyConstraints: + return AssemblyConstraints() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> AssemblyConstraint: + return None + def __iter__(self) -> Iterator[AssemblyConstraint]: + return None + def item(self, index: int) -> AssemblyConstraint: + """ + Function that returns the specified assembly constraint 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 AssemblyConstraint() + def itemByName(self, name: str) -> AssemblyConstraint: + """ + Function that returns the specified assembly constraint object 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 AssemblyConstraint() + def createInput(self) -> AssemblyConstraintInput: + """ + Creates an assembly constraint input to define an assembly constraint. Use functionality + on the returned AssemblyConstraintInput to define the input needed to create an assembly constraint. + Returns an AssemblyConstraintInput. + """ + return AssemblyConstraintInput() + def add(self, input: AssemblyConstraintInput) -> AssemblyConstraint: + """ + Creates a new assembly constraint. + input : The AssemblyConstraintInput object that defines the geometry and various inputs that define an + assembly constraint. An AssemblyConstraintInput object is created using + the AssemblyConstraints.createInput method. + Returns the newly created AssemblyConstraint or null in the case of failure. + """ + return AssemblyConstraint() + @property + def count(self) -> int: + """ + Returns the number of assembly constraint objects in the collection. + """ + return int() + class BaseComponent(core.Base): """ The BaseComponent object that defines all of the common design data @@ -1227,7 +3204,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 +3225,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,16 +3302,62 @@ def parentDesign(self) -> Design: Returns the parent product this component is owned by. """ return Design() - -class BaseFeatures(core.Base): - """ - The BaseFeature class represents a direct edit feature within a parametric 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() + @property + def propertyGroups(self) -> core.PropertyGroups: + """ + Returns the PropertyGroups object associated with this component. + """ + return core.PropertyGroups() + @property + def dataComponent(self) -> core.DataComponent: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns the DataComponent associated with this component. The DataComponent + provides ID information that can be used to access this component using the + MFG DM API. These ID's don't exist until a component has been saved. The ID's + are generated by MFG DM API on the cloud, so there will be a slight delay + after saving before the ID's are available. This property returns null in + the case the MFG DM API information doesn't exist yet. + + When opening a design, the MFG DM API information is obtained from the cloud + and as a result may not be available immediately after opening a document. Again, + this property will return null in this case too. Essentially, null is returned + in all cases where good ID information is not yet available. + """ + return core.DataComponent() + @property + def decals(self) -> Decals: + """ + Returns the decals collection associated with this component. This provides access to the + existing decals and supports the creation of new decals. + """ + return Decals() + +class BaseFeatures(core.Base): + """ + The BaseFeature class represents a direct edit feature within a parametric design. """ def __init__(self): pass @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,6 +3385,727 @@ def count(self) -> int: """ return int() +class BossFeatureInput(core.Base): + """ + 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) -> BossFeatureInput: + return BossFeatureInput() + def setPositionBySketchPoints(self, pointOrPoints: core.Base) -> bool: + """ + 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() + def createSideInput(self) -> BossFeatureSideInput: + """ + 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 BossFeatureSideInput() + @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 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. @@ -1376,10 +4120,11 @@ 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 + call the add method to finish the transaction it leaves Fusion 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 @@ -1459,6 +4204,18 @@ 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 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 +4227,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. @@ -1486,7 +4249,7 @@ def createInput(self, tools: core.ObjectCollection, operation: FeatureOperations 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 + call the add method to finish the transaction it leaves Fusion 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. @@ -1528,6 +4291,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 +4328,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,13 +4348,12 @@ 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) - the BRepBody is created within the component the BRepBodies collection was obtained from. In - a model where the design history is captured (parametric model), the new BRepBody is created - within the specified Base Feature. + result is a persisted BRepBody. In a direct modeling design, the BRepBody is created within + the component the BRepBodies collection was obtained from. In a parametric modeling design, + the new BRepBody is created within the specified Base Feature. Because of a current limitation, if you want to create a BRepBody in a parametric model, you must first call the edit method of the base feature, then use the add method to create @@ -1587,9 +4361,9 @@ def add(self, body: BRepBody, targetBaseFeature: BaseFeature) -> BRepBody: feature must be in an "edit" state to be able to add any additional items to it. body : The input BRepBody. Typically this is a transient BRepBody but that's not a requirement. In any case, there is not any association back to the original BRepBody. - targetBaseFeature : The BaseFeature object that this B-Rep body will be associated with. This is an optional - requirement but is required when the model design history is being captured (parametric model) but is - ignored otherwise (direct edit model). + targetBaseFeature : The BaseFeature object that this BRep body will be associated with. This is an optional + requirement. It is required in a parametric modeling design but is ignored in a direct + modeling design. Returns the newly created BRepBody or null if the creation failed. """ return BRepBody() @@ -1713,7 +4487,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 +4828,33 @@ 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() + @property + def orientedMinimumBoundingBox(self) -> core.OrientedBoundingBox3D: + """ + Returns an oriented bounding box of the body that is best oriented to tightly fit the body. + """ + return core.OrientedBoundingBox3D() + @property + def preciseBoundingBox(self) -> core.BoundingBox3D: + """ + Returns a bounding box that tightly fits this body. + """ + return core.BoundingBox3D() class BRepBodyDefinition(core.Base): """ @@ -2194,6 +4995,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 +5180,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 +5218,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. @@ -2607,7 +5426,7 @@ def cast(arg) -> BRepEdgeDefinition: def associativeID(self) -> int: """ Gets and sets the associate ID of this edge definition. This ID will be copied to the corresponding - edge when the BRepBodyDefinition is used to create a BrepBody. It is used internally by Fusion360 as + edge when the BRepBodyDefinition is used to create a BrepBody. It is used internally by Fusion as the identifier for the edge and is used for tracking this geometry for parametric recomputes. """ return int() @@ -2615,7 +5434,7 @@ def associativeID(self) -> int: def associativeID(self, value: int): """ Gets and sets the associate ID of this edge definition. This ID will be copied to the corresponding - edge when the BRepBodyDefinition is used to create a BrepBody. It is used internally by Fusion360 as + edge when the BRepBodyDefinition is used to create a BrepBody. It is used internally by Fusion as the identifier for the edge and is used for tracking this geometry for parametric recomputes. """ pass @@ -2691,6 +5510,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. @@ -2737,6 +5562,16 @@ def convert(self, options: BRepConvertOptions) -> BRepBody: Returns the new converted body or null in the case of failure. """ return BRepBody() + def isPointOnFace(self, point: core.Point3D, tolerance: float = 0) -> bool: + """ + Checks if input point is on this BRepFace. This takes into account any boundaries so if the point is within a void area of the face, this will return false. + point : The input point to check. + tolerance : Specifies how close the point must be to the face to be considered on the face. + Defaults to the point tolerance which can be obtained using the Application.pointTolerance + property. The value is in centimeters. + Returns true if the point lies on the face. + """ + return bool() @property def edges(self) -> BRepEdges: """ @@ -2912,7 +5747,7 @@ def cast(arg) -> BRepFaceDefinition: def associativeID(self) -> int: """ Gets and sets the associate ID of this face definition. This ID will be copied to the corresponding - face when the BRepBodyDefinition is used to create a BrepBody. It is used by Fusion360 as + face when the BRepBodyDefinition is used to create a BrepBody. It is used by Fusion as the identifier for the face and is used for tracking this geometry for parametric recomputes. """ return int() @@ -2920,7 +5755,7 @@ def associativeID(self) -> int: def associativeID(self, value: int): """ Gets and sets the associate ID of this face definition. This ID will be copied to the corresponding - face when the BRepBodyDefinition is used to create a BrepBody. It is used by Fusion360 as + face when the BRepBodyDefinition is used to create a BrepBody. It is used by Fusion as the identifier for the face and is used for tracking this geometry for parametric recomputes. """ pass @@ -2968,6 +5803,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 +5842,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 +5979,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 +6014,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 +6183,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 +6218,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 +6406,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 +6441,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 +6604,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. @@ -3851,7 +6740,7 @@ def cast(arg) -> BRepWireEdgeDefinition: def associativeID(self) -> int: """ Gets and sets the associate ID of this B-Rep wire definition. This ID will be copied to the corresponding - edge when the BRepBodyDefinition is used to create a BrepBody. It is used by Fusion360 as + edge when the BRepBodyDefinition is used to create a BrepBody. It is used by Fusion as the identifier for the edge and is used for tracking this geometry for parametric recomputes. """ return int() @@ -3859,7 +6748,7 @@ def associativeID(self) -> int: def associativeID(self, value: int): """ Gets and sets the associate ID of this B-Rep wire definition. This ID will be copied to the corresponding - edge when the BRepBodyDefinition is used to create a BrepBody. It is used by Fusion360 as + edge when the BRepBodyDefinition is used to create a BrepBody. It is used by Fusion as the identifier for the edge and is used for tracking this geometry for parametric recomputes. """ pass @@ -3904,13 +6793,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 +6842,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 +6862,503 @@ 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 file extension, which controls + the format of the image file. If a file extension other than png, jpg, or tiff is + specified, a png extension will be added to the filename by default. + + This method will fail if a file with the specified filename already exists. + If you want to overwrite the file, you'll need to delete it first before + calling this method. + 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 a direct modeling design 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 a direct modeling design 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 direct modeling design, 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 a direct modeling design 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 a direct modeling design 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 +7399,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 +7496,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 +7551,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 +7564,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 +7595,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 +7821,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. @@ -4457,6 +7870,134 @@ def count(self) -> int: """ return int() +class ClearanceHoleDataQuery(core.Base): + """ + This object provides methods to query the clearance hole to find valid definitions for creating + a clearance hole. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ClearanceHoleDataQuery: + return ClearanceHoleDataQuery() + @staticmethod + def create() -> ClearanceHoleDataQuery: + """ + Static method to create a new ClearanceHoleDataQuery object. The ClearanceHoleDataQuery object + is a utility object that provides methods to query for the valid clearance hole definitions + defined in Fusion. This object provides similar functionality as the hole command dialog to + find valid clearance standards, fastener types, and sizes, which can be used to create clearance + hole features. + Returns a ClearanceHoleDataQuery object. + """ + return ClearanceHoleDataQuery() + def standardCustomName(self, standard: str) -> str: + """ + Method that returns the custom name for a given standard. The custom name is the localized name + of the standard using the current language specified for Fusion. + standard : The standard you want to get the custom name for. + Returns the specified custom name or an empty string if an invalid standard is specified. + """ + return str() + def allFastenerTypes(self, standard: str) -> list[str]: + """ + This method returns an array of all the available fastener types for the given standard. + To get the available standards, use the allStandards property. + standard : The standard to search within. + Returns the specified fastener types or an empty array if an invalid standard is specified. + """ + return [str()] + def allSizes(self, standard: str, fastenerType: str) -> list[str]: + """ + This method returns an array of all the sizes for the given standard and fastener type. Valid standards and + fastener types can be obtained using the allStandards and allFastenerTypes functions. + standard : The standard to search within. + fastenerType : The fastener type in the specified standard to search within. + Returns the specified sizes or empty array if an invalid standard or fastener type is specified. + """ + return [str()] + @property + def allStandards(self) -> list[str]: + """ + This method returns an array of all the available standards. The standards' names are always + English. This English name should be used in the other methods that take the standard as an + input argument. If you need to display the standard name to the user, you can use the + standardCustomName method To get the localized name. + """ + return [str()] + +class ClearanceHoleInfo(core.Base): + """ + This object defines the methods and properties that define the size of a clearance hole. This object is used + to create new hole features whose size is defined as a clearance hole for a specific size fastener. A new + ClearanceHoleInfo object is created by using the ClearanceHoleInfo.create method. To determine valid values + when creating a ClearanceHoleInfo object, you can use the ClearanceHoleDataQuery object, which is statically + created using the ClearanceHoleDataQuery.create method. + + If the ClearanceHoleInfo object is obtained from an existing HoleFeature object, modifying properties on + the returned ClearanceHoleInfo object will modify the feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ClearanceHoleInfo: + return ClearanceHoleInfo() + @staticmethod + def create(standard: str, fastenerType: str, size: str, fit: ClearanceHoleFits) -> ClearanceHoleInfo: + """ + Method that creates a new ClearanceHoleInfo object to use in creating clearance holes. + The ClearanceHoleInfo object defines the type, size, and fit of the clearance hole to create. + Fusion uses this information to look up the full details of the clearance hole in tables delivered + with Fusion. The ClearanceHoleDataQuery object can be used to determine valid input for this information. + It's statically created using the ClearanceHoleDataQuery.create method. + standard : Input string that specifies the standard. + fastenerType : Input string that specifies the fastener type. + size : Input string that specifies the fastener size. + fit : Input enum value that specifies the fit of the fastener within the hole. + Returns the newly created ClearanceHoleInfo object or null if the creation failed. + """ + return ClearanceHoleInfo() + def redefine(self, standard: str, fastenerType: str, size: str, fit: ClearanceHoleFits) -> bool: + """ + Method that redefines the values associated with an existing ClearanceHoleInfo object. This is + done to modify an existing clearance hole. The ClearanceHoleInfo object defines the type, size, + and fit of the clearance hole to create. Fusion uses this information to look up the full details + of the clearance hole in tables delivered with Fusion. The ClearanceHoleDataQuery object can be + used to determine valid input for this information. + standard : Input string that specifies the standard. + fastenerType : Input string that specifies the fastener type. + size : Input string that specifies the fastener size. + fit : Input enum value that specifies the amount of clearance between the hole and the fastener. + Returns true if the redefinition was successful. + """ + return bool() + @property + def standard(self) -> str: + """ + Returns the string that defines the standard. This is typically obtained by using the + ClearanceHoleDataQuery object. + """ + return str() + @property + def fastenerType(self) -> str: + """ + Returns the string that defines the fastener type. + """ + return str() + @property + def size(self) -> str: + """ + Returns the string that defines the fastener size the clearance hole is sized for. + """ + return str() + @property + def fit(self) -> ClearanceHoleFits: + """ + Returns the enum value that defines the amount of clearance + between the hole and the fastener. + """ + return ClearanceHoleFits() + class CoilFeatureInput(core.Base): """ This class defines the methods and properties that pertain to the definition of a coil feature. @@ -4674,6 +8215,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 +8355,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 +8413,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 +8442,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. @@ -4911,6 +8476,813 @@ def count(self) -> int: """ return int() +class ConfigurationAppearanceColumns(core.Base): + """ + Provides access to the columns in an appearance table. This collection can be empty when no + columns have been created. When the table is empty, it is not displayed in the user interface, + and adding a column causes the table to be displayed. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationAppearanceColumns: + return ConfigurationAppearanceColumns() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ConfigurationAppearanceColumn: + return None + def __iter__(self) -> Iterator[ConfigurationAppearanceColumn]: + return None + def item(self, index: int) -> ConfigurationAppearanceColumn: + """ + A method that returns the specified column using an index into the collection. + These are returned in the same order as they appear in the table. + index : The index of the column to return, where the first column is index 0. The name column is not included. + Returns the specified column or null if an invalid index was specified. + """ + return ConfigurationAppearanceColumn() + def itemById(self, id: str) -> ConfigurationAppearanceColumn: + """ + A method that returns the column with the specified ID. + id : The id of the column to return. + Returns the specified column or null if a column with the specified ID does not exist. + """ + return ConfigurationAppearanceColumn() + def add(self, entity: core.Base) -> ConfigurationAppearanceColumn: + """ + Adds a new column to the appearance table. If you are adding the first column to the table and + it is anything other than the root component, an additional column for the root component will + automatically be created as the first column. + entity : The root component, occurrence, or body whose appearance will be controlled by this column. + Returns the newly created ConfigurationAppearanceColumn object or null if it fails. + """ + return ConfigurationAppearanceColumn() + @property + def count(self) -> int: + """ + Returns the number of columns in the table where the name column is not included. + """ + return int() + +class ConfigurationCell(core.Base): + """ + Represents a single cell within a configuration table. This is the base class for the type-specific cell objects. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationCell: + return ConfigurationCell() + @property + def parentRow(self) -> ConfigurationRow: + """ + Returns the row this cell is in. + """ + return ConfigurationRow() + +class ConfigurationColumn(core.Base): + """ + Represents a column in a configuration table. This is the base class for the more specific + column types. The "Name" column is not considered a standard column but is a value associated + with each table row. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationColumn: + return ConfigurationColumn() + def deleteMe(self) -> bool: + """ + Deletes this column from the table. Property columns cannot be deleted. If the table was + obtained from a DataFile, this method will fail. + Returns true if the deletion was successful. + """ + return bool() + @property + def title(self) -> str: + """ + The title of this column. In a top table, this can only be edited for suppression, + visibility, parameter, and theme table columns. It behaves as read-only for all other types. + In a theme table, the title of all the columns can be modified except for the column that + represents the root component for materials and appearances. + + If the table was obtained from a DataFile, this property behaves as read-only for all the columns. + """ + return str() + @title.setter + def title(self, value: str): + """ + The title of this column. In a top table, this can only be edited for suppression, + visibility, parameter, and theme table columns. It behaves as read-only for all other types. + In a theme table, the title of all the columns can be modified except for the column that + represents the root component for materials and appearances. + + If the table was obtained from a DataFile, this property behaves as read-only for all the columns. + """ + pass + @property + def index(self) -> int: + """ + The index position of this column within the table. The first column is at index 0 and + does not include the "Name" column. + """ + return int() + @property + def id(self) -> str: + """ + The id of the column. This is constant and cannot be changed by the user. + """ + return str() + @property + def rowCount(self) -> int: + """ + Returns the number of rows in this column. + """ + return int() + +class ConfigurationColumns(core.Base): + """ + Returns a collection of the columns in the table. The Name column is not included in this list. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationColumns: + return ConfigurationColumns() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ConfigurationColumn: + return None + def __iter__(self) -> Iterator[ConfigurationColumn]: + return None + def item(self, index: int) -> ConfigurationColumn: + """ + A method that returns the specified column 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 ConfigurationColumn() + def itemById(self, id: str) -> ConfigurationColumn: + """ + A method that returns the specified column object using the ID of the column. + id : The ID of the column within the collection to return. + Returns the specified item or null if no column matches the provided ID. + """ + return ConfigurationColumn() + def addParameterColumn(self, parameter: Parameter) -> ConfigurationParameterColumn: + """ + Adds a new parameter column to the configuration table. If a parameter column already + exists for the parameter, the existing column is returned. + + This is only valid for TopConfigurationTable and ThemeConfigurationTable objects. + It will fail for all other table types. + parameter : The parameter to add to the table. + Returns the new column or null in the case of failure. + """ + return ConfigurationParameterColumn() + def addSuppressColumn(self, feature: core.Base) -> ConfigurationSuppressColumn: + """ + Adds a new column to control the suppression of a feature. The term "feature" is + used broadly and includes anything displayed in the timeline. If a suppression column already + exists for the feature, the existing column is returned. + + This is only valid for TopConfigurationTable and ThemeConfigurationTable objects. + It will fail for all other table types. + feature : The feature to add to the table. Any object that is displayed in the timeline can be + used as input. For example, some valid objects are any modeling features, sketches, + construction geometry, and joints. + Returns the new column or null in the case of failure. + """ + return ConfigurationSuppressColumn() + def addVisibilityColumn(self, entity: core.Base) -> ConfigurationVisibilityColumn: + """ + Adds a new column to control the visibility of an entity. If a visibility column already + exists for the entity, the existing column is returned. + + This is only valid for ConfigurationTopTable and ConfigurationCustomThemeTable objects + and will fail for all other table types. + entity : Returns the entity whose visibility will be controlled by this column. + Returns the new column or null in the case of failure. + """ + return ConfigurationVisibilityColumn() + def addInsertColumn(self, occurrence: Occurrence) -> ConfigurationInsertColumn: + """ + Add a new column to control which configuration is used for an inserted configuration. + If an insert column already exists for the occurrence, the existing column is returned. + + This is only valid for ConfigurationTopTable and ConfigurationCustomThemeTable objects + and will fail for all other table types. + occurrence : The occurrence that references a configuration. + Returns the new column or null in the case of failure. + """ + return ConfigurationInsertColumn() + def addPropertyColumn(self, property: core.Property) -> ConfigurationPropertyColumn: + """ + Add a new column to control the property inside the component. + The component is the owner of the property. + This is only valid for TopConfigurationTable. + It will fail for all other table types. + property : The property to add to the table. + Returns the new column or null in the case of failure. + """ + return ConfigurationPropertyColumn() + def addThreadTypeColumns(self, threadFeature: Feature, threadColumns: ConfigurationThreadColumns) -> list[ConfigurationFeatureAspectColumn]: + """ + Creates the columns in the configuration table to control the type of thread associated with a + thread feature or a tapped hole. Because configuring a thread requires several pieces of information, + this method collects it all at once and creates all the corresponding feature aspect columns. + threadFeature : The thread or tapped hole feature whose thread will be controlled by the configuration table. + threadColumns : Enum value that indicates which columns should be created to control the thread type. You can fully + define the thread type by specifying the type, size, designation, and class. Or you can leave the + thread type controlled by the feature and only configure the size, designation, and class. Or you + can leave the thread type and size controlled by the feature and only configure the designation and + class. Or you can leave the thread type, size, and designation controlled by the feature and only + configure the class. As a result, this can create and return 4, 3, 2, or 1 columns. + Returns an array of the columns created. They are in order of type, size, designation, and class. + """ + return [ConfigurationFeatureAspectColumn()] + def addFeatureAspectColumn(self, feature: core.Base, aspectType: ConfigurationFeatureAspectTypes) -> ConfigurationFeatureAspectColumn: + """ + Creates a new column to control an aspect of a feature that supports being configured. + feature : The feature to be configured. The term "feature" is used broadly and includes ThreadFeature, HoleFeature that is tapped, Joint, + and AsBuiltJoint objects. The existing column is returned if a feature aspect column already exists for the feature and aspect type. + aspectType : The aspect type to create a column for. The type specified must be a valid type for the specified feature; otherwise, this will fail with an error. + Returns the created ConfigurationFeatureAspectColumn or null in the case of failure. + """ + return ConfigurationFeatureAspectColumn() + def addClearanceTypeColumns(self, holeFeature: HoleFeature, holeClearanceColumns: ConfigurationClearanceHoleColumns) -> list[ConfigurationFeatureAspectColumn]: + """ + Creates the columns in the configuration table to control the clearance information associated with a + clearance hole. Because configuring a clearance hole requires several pieces of related information, + this method collects it all at once and creates all the corresponding feature aspect columns. + + The fit is also a setting that controls the hole clearance, but it's independent of the other settings and can be + created independently using the addFeatureAspectColumn method. + holeFeature : The hole feature that defines a clearance hole whose clearance will be controlled by the configuration table. + holeClearanceColumns : Enum value that indicates which columns should be created to control the clearance hole definition. You can fully + define the clearance hole by specifying the standard, fastener type, and size. Or you can leave the + standard controlled by the hole and only configure the fastener type, and size. Or you + can leave the standard and fastener type controlled by the hole and only configure the size. + As a result, this can create and return 3, 2, or 1 columns. + + The fit is also a setting that controls the hole clearance, but it's independent of the other settings and can be + created independently using the addFeatureAspectColumn method. + Returns an array of the columns created. They are in order of standard, fastener type, and size. + """ + return [ConfigurationFeatureAspectColumn()] + def addInsertStandardDesignColumn(self, occurrence: Occurrence) -> ConfigurationInsertStandardDesignColumn: + """ + Add a new column to control which standard design is used for an inserted design. + If an insert column already exists for the occurrence, the existing column is returned. + + This is only valid for ConfigurationTopTable and ConfigurationCustomThemeTable objects + and will fail for all other table types. + occurrence : The occurrence that references a standard design. + Returns the new column or null in the case of failure. + """ + return ConfigurationInsertStandardDesignColumn() + @property + def count(self) -> int: + """ + Returns the number of columns in the table. The name column is not included. + """ + return int() + +class ConfigurationCustomThemeTables(core.Base): + """ + Provides access to the custom theme tables associated with a configuration table and provides the + functionality to create new custom theme tables. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationCustomThemeTables: + return ConfigurationCustomThemeTables() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ConfigurationCustomThemeTable: + return None + def __iter__(self) -> Iterator[ConfigurationCustomThemeTable]: + return None + def add(self, columns: list[ConfigurationColumn]) -> ConfigurationCustomThemeTable: + """ + Creates a new custom theme table using the specified columns. + columns : An array of ConfigurationColumn objects used to create a new custom theme table. The columns + must exist within the top configuration table, and they cannot include any ConfigurationThemeColumn, + ConfigurationPropertyColumn, ConfigurationAppearanceColumn, ConfigurationMaterialColumn, ConfigurationPlasticRuleColumn, + or ConfigurationSheetMetalRuleColumn objects. The specified columns will be removed from the main table, + and a new ConfigurationThemeColumn will be created in the top table to reference the newly created custom theme table. + Returns the newly created ConfigurationCustomThemeTable or null if the creation fails. + """ + return ConfigurationCustomThemeTable() + def item(self, index: int) -> ConfigurationCustomThemeTable: + """ + A method that returns the specified custom theme table 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 ConfigurationCustomThemeTable() + @property + def count(self) -> int: + """ + Returns the number of custom theme tables associated with the top table. + """ + return int() + +class ConfigurationJointSnap(core.Base): + """ + This object represents an individual joint snap that has been defined for a + ConfigurationJointSnapColumn. Multiple joint snaps can be defined for a column + and then one of those joint snaps is specified in each cell of the column. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationJointSnap: + return ConfigurationJointSnap() + def deleteMe(self) -> bool: + """ + Deletes this joint snap. + Returns true if the deletion was successful. + """ + return bool() + @property + def name(self) -> str: + """ + Gets and sets the name of the snap. + """ + return str() + @name.setter + def name(self, value: str): + """ + Gets and sets the name of the snap. + """ + pass + @property + def jointGeometry(self) -> core.Base: + """ + Gets and sets the JointGeometry object for this snap. + """ + return core.Base() + @jointGeometry.setter + def jointGeometry(self, value: core.Base): + """ + Gets and sets the JointGeometry object for this snap. + """ + pass + +class ConfigurationJointSnaps(core.Base): + """ + Collection object that provides access to all the joint snaps that have been + defined for a ConfigurationJointSnapColumn. You can also use this collection + to define new joint snaps that will then be available when specifying which + snap to use in a cell. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationJointSnaps: + return ConfigurationJointSnaps() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ConfigurationJointSnap: + return None + def __iter__(self) -> Iterator[ConfigurationJointSnap]: + return None + def item(self, index: int) -> ConfigurationJointSnap: + """ + A method that returns the specified snap using an index into the collection. + index : The index of the snap to return, where the first row is index 0. + Returns the specified snap or null if an invalid index was specified. + """ + return ConfigurationJointSnap() + def itemByName(self, name: str) -> ConfigurationJointSnap: + """ + A method that returns the snap with the specified name. + name : The name of the snap to return. + Returns the specified snap or null if a snap with the specified name does not exist. + """ + return ConfigurationJointSnap() + def add(self, name: str, jointGeometry: core.Base) -> ConfigurationJointSnap: + """ + Adds a new snap to the column. The snaps associated with the column can be used + in the cells in the column. + name : The name of the new snap. The name must be unique with respect to the other snaps + defined for this column. An empty string can be provided, which will cause Fusion + to use a default naming scheme to create a name. + jointGeometry : A JointGeometry object that defines how the snap is defined. When creating the JointGeometry + object, it must be limited to geometry in the occurrence associated with the column. + Returns the newly created ConfigurationJointSnap. + """ + return ConfigurationJointSnap() + @property + def count(self) -> int: + """ + Returns the number of snaps for the column. + """ + return int() + +class ConfigurationMaterialColumns(core.Base): + """ + Provides access to the columns in a material table. This collection can be empty when + no columns have been created. When the table is empty, it is not displayed in the + user interface, and adding a column causes the table to be displayed. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationMaterialColumns: + return ConfigurationMaterialColumns() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ConfigurationMaterialColumn: + return None + def __iter__(self) -> Iterator[ConfigurationMaterialColumn]: + return None + def item(self, index: int) -> ConfigurationMaterialColumn: + """ + A method that returns the specified column using an index into the collection. + These are returned in the same order as they appear in the table. + index : The index of the column to return, where the first column is index 0. + The name column is not included. + Returns the specified column or null if an invalid index was specified. + """ + return ConfigurationMaterialColumn() + def itemById(self, id: str) -> ConfigurationMaterialColumn: + """ + A method that returns the column with the specified ID. + id : The id of the column to return. + Returns the specified column or null if a column with the specified ID does not exist. + """ + return ConfigurationMaterialColumn() + def add(self, entity: core.Base) -> ConfigurationMaterialColumn: + """ + Adds a new column to the material table. If you are adding the first column to the table + and it is anything other than the root component, an additional column for the root + component will automatically be created as the first column. + entity : The component or body whose material will be controlled by this column. + Returns the newly created ConfigurationMaterialColumn object or null if it fails. + """ + return ConfigurationMaterialColumn() + @property + def count(self) -> int: + """ + Returns the number of columns in the table where the name column is not included. + """ + return int() + +class ConfigurationPlasticRuleColumns(core.Base): + """ + Provides access to the columns in a plastic rule table. This collection can be empty + when no columns have been created. When the table is empty, it is not displayed in the + user interface, and adding a column causes the table to be displayed. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationPlasticRuleColumns: + return ConfigurationPlasticRuleColumns() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ConfigurationPlasticRuleColumn: + return None + def __iter__(self) -> Iterator[ConfigurationPlasticRuleColumn]: + return None + def item(self, index: int) -> ConfigurationPlasticRuleColumn: + """ + A method that returns the specified column using an index into the collection. + These are returned in the same order as they appear in the table. + index : The index of the column to return, where the first column is index 0. + The name column is not included. + Returns the specified column or null if an invalid index was specified. + """ + return ConfigurationPlasticRuleColumn() + def itemById(self, id: str) -> ConfigurationPlasticRuleColumn: + """ + A method that returns the column with the specified ID. + id : The id of the column to return. + Returns the specified column or null if a column with the specified ID does not exist. + """ + return ConfigurationPlasticRuleColumn() + def add(self, component: Component) -> ConfigurationPlasticRuleColumn: + """ + Adds a new column to the plastic rule table. + component : The component whose active plastic rule will be controlled by this column. + Returns the newly created ConfigurationPlasticRuleColumn object or null if it fails. + """ + return ConfigurationPlasticRuleColumn() + @property + def count(self) -> int: + """ + Returns the number of columns in the table where the name column is not included. + """ + return int() + +class ConfigurationReplaceDesign(core.Base): + """ + This object represents an individual ConfigurationReplaceDesign object that has been defined for a + ConfigurationReplaceDesignColumn. Multiple ConfigurationReplaceDesign objects can be defined for a + column and then one of those ConfigurationReplaceDesign objects is specified in each cell of the column. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationReplaceDesign: + return ConfigurationReplaceDesign() + def deleteMe(self) -> bool: + """ + Deletes this ConfigurationReplaceDesign. + Returns true if the deletion was successful. + """ + return bool() + @property + def name(self) -> str: + """ + Gets the name of the ConfigurationReplaceDesign object. + """ + return str() + @property + def dataFile(self) -> core.DataFile: + """ + Gets the Design object associated with this ConfigurationReplaceDesign object. + This must be a DataFile object that represents a standard design, not a configured design. + """ + return core.DataFile() + +class ConfigurationReplaceDesigns(core.Base): + """ + Collection object that provides access to all the ConfigurationReplaceDesign objects + that have been defined for a ConfigurationReplaceDesignColumn. You can also use this + collection to define new replace designs that will then be available when specifying which + design to use in a cell. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationReplaceDesigns: + return ConfigurationReplaceDesigns() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ConfigurationReplaceDesign: + return None + def __iter__(self) -> Iterator[ConfigurationReplaceDesign]: + return None + def item(self, index: int) -> ConfigurationReplaceDesign: + """ + A method that returns the specified ConfigurationReplaceDesign object using an index into the collection. + index : The index of the ConfigurationReplaceDesign object to return, where the first row is index 0. + Returns the specified ConfigurationReplaceDesign object or null if an invalid index was specified. + """ + return ConfigurationReplaceDesign() + def itemByName(self, name: str) -> ConfigurationReplaceDesign: + """ + A method that returns the ConfigurationReplaceDesign object with the specified name. + name : The name of the ConfigurationReplaceDesign object to return. + Returns the specified ConfigurationReplaceDesign object or null if a ConfigurationReplaceDesign + object with the specified name does not exist. + """ + return ConfigurationReplaceDesign() + def add(self, name: str, dataFile: core.DataFile) -> ConfigurationReplaceDesign: + """ + Adds a new ConfigurationReplaceDesign object to the column. The ConfigurationReplaceDesign objects + associated with the column can be used in the cells in the column. + name : The name of the new ConfigurationReplaceDesign object. The name must be unique with respect to the + other ConfigurationReplaceDesign objects defined for this column. An empty string can be provided, + which will cause Fusion to use a default naming scheme to create a name. + dataFile : A DataFile object that defines which Design to use. This must be a DataFile object that represents + a standard design, not a configured design. + Returns the newly created ConfigurationReplaceDesign. + """ + return ConfigurationReplaceDesign() + @property + def count(self) -> int: + """ + Returns the number of ConfigurationReplaceDesign objects defined for the column. + """ + return int() + +class ConfigurationRow(core.Base): + """ + Represents a row in a configuration table. The header row is not considered a standard row but + is information associated with each column. + + For a top table, each row represents a configuration, and for a theme table, each row represents a theme. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationRow: + return ConfigurationRow() + def deleteMe(self) -> bool: + """ + Deletes this row from the table. The first row of the top table cannot be deleted, and this method will fail. + Returns true if the deletion was successful. + """ + return bool() + def activate(self) -> bool: + """ + Causes this row to become the active row in the table. + Returns true if the activation was successful. + """ + return bool() + def getCellByColumnIndex(self, columnIndex: int) -> ConfigurationCell: + """ + Gets the cell in this row at the specified column index. The first column has an index of 0 and does not include the name column. + columnIndex : The index of the column to return the cell for. The first column has an index 0. + Returns the specified cell if successful and null if an invalid index was specified. + """ + return ConfigurationCell() + def getCellByColumnId(self, columnId: str) -> ConfigurationCell: + """ + Gets the cell in this row at the column with the specified ID. + columnId : The ID of the column the cell is in. + Returns the specified cell if successful or null if a column with the specified ID does not exist. + """ + return ConfigurationCell() + def copy(self, name: str) -> ConfigurationRow: + """ + Creates a new row by copying this row. + name : The name to use for the new row. An empty string indicates that Fusion should use the default naming scheme. + + Names must be unique with respect to other rows in this table. If you specify a name that exists, + Fusion will append a counter to ensure uniqueness. For example, if "Small" is already used and you name + another row "Small", you will end up with "Small (1)". + Returns the newly created row or null in the case of failure. + """ + return ConfigurationRow() + def generate(self) -> ConfigurationFuture: + """ + Causes this row to be generated. + Returns a future that can be used to determine when the generation is complete. + Null is returned in the case where starting the generation fails. + """ + return ConfigurationFuture() + @property + def id(self) -> str: + """ + Gets the unique ID that identifies this row. The ID remains constant for this row as + long as the row exists. This is different than the name, which the user can change. + """ + return str() + @property + def name(self) -> str: + """ + Gets and sets the name of this row. Names must be unique with respect to other rows in this + table. If you specify a name that exists, Fusion will append a counter to ensure uniqueness. + For example, if "Small" is already used and you name another row "Small", you will end up with "Small (1)". + """ + return str() + @name.setter + def name(self, value: str): + """ + Gets and sets the name of this row. Names must be unique with respect to other rows in this + table. If you specify a name that exists, Fusion will append a counter to ensure uniqueness. + For example, if "Small" is already used and you name another row "Small", you will end up with "Small (1)". + """ + pass + @property + def index(self) -> int: + """ + The index position of this row within the table. The first row is at index 0 and does not include the header row. + """ + return int() + @property + def parentTable(self) -> ConfigurationTable: + """ + Returns the configuration table this row is a member of. + """ + return ConfigurationTable() + +class ConfigurationRows(core.Base): + """ + Returns a collection of the rows in the table. The header row is not included in this list. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationRows: + return ConfigurationRows() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ConfigurationRow: + return None + def __iter__(self) -> Iterator[ConfigurationRow]: + return None + def item(self, index: int) -> ConfigurationRow: + """ + A method that returns the specified row using an index into the collection. These are returned + in the same order as in the table; the first row is the default row. + index : The index of the row to return, where the first row is index 0. The headers do not count as a row. + Returns the specified row or null if an invalid index was specified. + """ + return ConfigurationRow() + def itemById(self, id: str) -> ConfigurationRow: + """ + A method that returns the row with the specified ID. + id : The id of the row to return. + Returns the specified row or null if a row with the specified ID does not exist. + """ + return ConfigurationRow() + def itemByName(self, name: str) -> ConfigurationRow: + """ + A method that returns the row with the specified name. + name : The name of the row to return. + Returns the specified row or null if the named row does not exist. + """ + return ConfigurationRow() + def add(self, name: str) -> ConfigurationRow: + """ + Adds a new row to the table. For the top table, this creates a new configuration. + For theme tables, this creates a new theme. The new row is added to the bottom of the table, + and the cell values are copied from the row above it. You can also use the ConfigurationRow.copy + method to create a new row by copying any existing row. + name : The name of the new row. An empty string can be provided, which will cause Fusion to use a + default naming scheme to create a name. + Returns the newly created row. + """ + return ConfigurationRow() + @property + def count(self) -> int: + """ + Returns the number of rows in the table where the header row is not included. + """ + return int() + +class ConfigurationSheetMetalRuleColumns(core.Base): + """ + Provides access to the columns in a sheet metal rule table. This collection can be empty when + no columns have been created. When the table is empty, it is not displayed in the user interface, + and adding a column causes the table to be displayed. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationSheetMetalRuleColumns: + return ConfigurationSheetMetalRuleColumns() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> ConfigurationSheetMetalRuleColumn: + return None + def __iter__(self) -> Iterator[ConfigurationSheetMetalRuleColumn]: + return None + def item(self, index: int) -> ConfigurationSheetMetalRuleColumn: + """ + A method that returns the specified column using an index into the collection. + These are returned in the same order as they appear in the table. + index : The index of the column to return, where the first column is index 0. The name column is not included. + Returns the specified column or null if an invalid index was specified. + """ + return ConfigurationSheetMetalRuleColumn() + def itemById(self, id: str) -> ConfigurationSheetMetalRuleColumn: + """ + A method that returns the column with the specified ID. + id : The id of the column to return. + Returns the specified column or null if a column with the specified ID does not exist. + """ + return ConfigurationSheetMetalRuleColumn() + def add(self, component: Component) -> ConfigurationSheetMetalRuleColumn: + """ + Adds a new column to the sheet metal rule table. + component : The component whose active sheet metal rule will be controlled by this column. + Returns the newly created ConfigurationPlasticRuleColumn object or null if it fails. + """ + return ConfigurationSheetMetalRuleColumn() + @property + def count(self) -> int: + """ + Returns the number of columns in the table where the name column is not included. + """ + return int() + +class ConfigurationTable(core.Base): + """ + The base class of all configuration tables. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationTable: + return ConfigurationTable() + def getCell(self, column: int, row: int) -> ConfigurationCell: + """ + Returns the cell at the specified row and column. + column : The index of the column the cell is in. An index of 0 is the first column and does not include the name column. + row : The index of the row the cell is in. An index of 0 is the first row and does not include the header row. + """ + return ConfigurationCell() + @property + def id(self) -> str: + """ + Returns the unique ID of this table. + """ + return str() + @property + def rows(self) -> ConfigurationRows: + """ + Returns the rows (configurations) defined for this table and provides the functionality to create new rows. + """ + return ConfigurationRows() + class ConstructionAxes(core.Base): """ Provides access to the construction axes within a component and provides @@ -4921,6 +9293,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 +9314,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 @@ -4950,7 +9328,7 @@ def add(self, input: ConstructionAxisInput) -> ConstructionAxis: Creates and adds a new ConstructionAxis using the creation parameters in the ConstructionAxisInput. If the ConstructionAxisInput was defined using the setByLine method then - the add will only work in a direct edit model (do not capture design history) and will fail in a parametric model. + the add will only work in the direct modeling mode and will fail in the parametric modeling mode. input : A ConstructionAxisInput object Returns the newly created construction axis or null if the creation failed. """ @@ -5171,8 +9549,8 @@ def setByLine(self, line: core.InfiniteLine3D) -> bool: This input method is for creating a non-parametric construction axis whose position in space is defined by an InfiniteLine3D object. - This method of defining a construction axis is only valid when working in a direct edit model (do not capture design history). - This is not valid when working in a parametric model and will fail. + This method of defining a construction axis is only valid when working in the direct modeling mode. + This is not valid when working in the parametric modeling mode and will fail. line : An InFiniteLine3D object Returns true if the creation of the ConstructionAxisInput is successful. """ @@ -5522,8 +9900,8 @@ def setByPlane(self, plane: core.Plane) -> bool: This input method is for creating a non-parametric construction plane positioned in space as defined by the input Plane object. - This method of defining a construction plane is only valid when working in a direct edit model (do not capture design history). - This is not valid when working in a parametric model and will fail. + This method of defining a construction plane is only valid when working in the direct modeling mode. + This is not valid when working in the parametric modeling mode and will fail. plane : A transient plane object Returns true if the construction plane definition is successful. """ @@ -5627,6 +10005,19 @@ def setByDistanceOnPath(self, pathEntity: core.Base, distance: core.ValueInput) Returns true if the construction plane definition is successful. """ return bool() + def setByOffsetThroughPoint(self, planarEntity: core.Base, point: core.Base) -> bool: + """ + Defines a construction plane that is offset from a planar face or construction plane + and whose offset distance is defined by a vertex, sketch point, or construction point where + the plane passes through the point. + planarEntity : A planar BRepFace, ConstructionPlane, or Plane object that the new construction plane will be + offset from. A Plane object is only valid in a direct-edit design or a base feature. In that case + a non-parametric result is created. + point : A BRepVertex, SketchPoint, ConstructionPoint, or Point3D that defines the offset distance. + A Point3D is only valid in a direct-edit design. In that case a non-parametric result is created. + Returns true if construction plane definition is successful. + """ + return bool() @property def creationOccurrence(self) -> Occurrence: """ @@ -5682,6 +10073,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 +10094,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 @@ -5712,7 +10109,7 @@ def add(self, input: ConstructionPlaneInput) -> ConstructionPlane: the ConstructionPlaneInput. If the ConstructionPlaneInput was defined using the setByPlane method then - the add will only work in a direct edit model (do not capture design history) and will fail in a parametric model. + the add will only work in the direct modeling model and will fail in the parametric modeling mode. input : A ConstructionPlaneInput object Returns the newly created construction plane or null if the creation failed. """ @@ -5977,8 +10374,8 @@ def setByPoint(self, point: core.Base) -> bool: This input method is for creating a construction point on the specified point or vertex. The point can be either a B-Rep vertex, SketchPoint, or a Point3D object. - Providing a Point3D object is only valid when working in a direct edit model (do not capture design history). - This is not valid when working in a parametric model and will fail. + Providing a Point3D object is only valid when working in the direct edit modeling mode. + This is not valid when working in the parametric modeling mode and will fail. Even when providing a B-Rep vertex, or SketchPoint the result will be non-parametric if the parent component is a direct edit component. @@ -6041,6 +10438,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 +10459,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. @@ -6071,7 +10474,7 @@ def add(self, input: ConstructionPointInput) -> ConstructionPoint: Creates a new construction point. If the ConstructionPointInput was defined using the setByPoint method using a Point3D object then - the add will only work in a direct edit model (do not capture design history) and will fail in a parametric model. + the add will only work in the direct modeling mode and will fail in the parametric modeling mode. input : A ConstructionPointInput object Returns the newly created construction point or null if the creation failed. """ @@ -6150,6 +10553,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. @@ -6160,7 +10569,7 @@ def item(self, index: int) -> ContactSet: def itemByName(self, name: str) -> ContactSet: """ Returns the specified contact set. - name : The name of the contact set to return. + name : The name of the contact set to return. Returns the specified contact set or null there isn't a contact set with that name. """ return ContactSet() @@ -6189,6 +10598,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 +10632,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 +10822,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 +10837,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 +10884,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 +10931,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. """ @@ -6432,13 +10945,17 @@ def cast(arg) -> CustomFeatureEventHandler: return CustomFeatureEventHandler() def notify(self, eventArgs: CustomFeatureEventArgs) -> None: """ - The function called by Fusion 360 when the associated event is fired. + The function called by Fusion when the associated event is fired. eventArgs : Returns an object that provides access to additional information associated with the event. """ pass 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 +10974,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 +11050,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 +11061,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 +11090,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 +11102,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 +11162,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 +11170,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 +11232,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 +11315,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 +11324,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 +11569,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 +11594,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 +11775,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 +11790,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 +11848,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 +11892,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. @@ -7367,154 +11919,635 @@ def count(self) -> int: """ return int() -class DeleteFaceFeatures(core.Base): +class Decal(core.Base): """ - Collection that provides access to all of the existing DeleteFaceFeature features in a component - and supports the ability to create new DeleteFaceFeature features. - - The SurfaceDeleteFaceFeature and DeleteFaceFeature differ in that the SurfaceDeleteFaceFeature - can delete any face without any restrictions. If the body is a solid, it will become a surface - when the first face is deleted. The specified face is deleted without any other changes being - made to the body. The DeleteFaceFeature deletes the specified face and also modifies the other faces - in the body to heal or fill in the area of the deleted face. This means that a solid body will - remain solid. + Represents a Decal within a component. """ def __init__(self): pass @staticmethod - def cast(arg) -> DeleteFaceFeatures: - return DeleteFaceFeatures() - def item(self, index: int) -> DeleteFaceFeature: + def cast(arg) -> Decal: + return Decal() + def deleteMe(self) -> bool: """ - Function that returns the specified DeleteFaceFeature 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. + Deletes the decal from the component. """ - return DeleteFaceFeature() - def itemByName(self, name: str) -> DeleteFaceFeature: + return bool() + def saveImage(self, filename: str) -> bool: """ - Function that returns the specified DeleteFaceFeature object 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. + Saves the image associated with the decal 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, jpg + or tiff, then by default png extension will be added to the filename. + This method will fail if a file with the specified filename already exists. + If you want to overwrite the file, you'll need to delete it first before + calling this method. + Returns true if writing the file was successful. """ - return DeleteFaceFeature() - def add(self, facesToDelete: core.Base) -> DeleteFaceFeature: + return bool() + def redefine(self, position: core.Matrix3D, faces: list[BRepFace], isChainFaces: bool) -> bool: """ - Creates a new SurfaceDeleteFace feature. This deletes the specified faces - from their bodies and attempts to heal the body. The method will fail if - the body cannot be healed. This is equivalent to selecting and deleting - faces when in the Patch workspace. - facesToDelete : A single BRepFace or an ObjectCollection containing multiple BRepFace objects. - Returns the newly created DeleteFaceFeature object or null if the creation failed. + Redefines the position, orientation, and how the decal is applied to the body. + + To call this method, you need to position the timeline marker to immediately before this decal. + This can be accomplished using the following code: thisDecal.timelineObject.rollTo(True) + position : Defines the position, rotation, scaling, and flipping of the decal. The input 3D matrix defines a + 3D coordinate system in model space. The origin of the matrix defines the center of the decal and must + lie somewhere on the first face. The Z-axis of the matrix should be the same as the normal of the face at the + origin. The X and Y axes define the orientation of the decal and must be both perpendicular to + the Z axis and each other. Reversing the direction of the X or Y axis will flip the decal in that + direction. The magnitude of the X and Y axes controls the scale, and the scale can be non-uniform, + meaning the length of the X and Y vectors do not need to be the same. + faces : Defines the face where the decal will be placed. The first face in the array is the primary face, which + is where the position point must be on. If the isChainFaces argument is true, only the primary face is needed + and it will be used to define the position and orientation of the decal and the decal can wrap onto all the + faces of the body. If the isChainFaces argument is false, the decal can only be applied to the specified + faces with the first face in the array being used as the primary face. + isChainFaces : If true, only one face is needed and the decal wraps onto all the faces of the body. + If false, the decal can only be applied to the specified faces with the first face being used to calculate + the position and orientation. """ - return DeleteFaceFeature() + return bool() + def createForAssemblyContext(self, occurrence: Occurrence) -> Decal: + """ + 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 Decal() @property - def count(self) -> int: + def name(self) -> str: """ - The number of DeleteFaceFeature objects in the collection. + Gets and sets the name of the decal. 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 decal. This is the name seen in the browser and timeline. """ - return int() - -class DraftFeatureInput(core.Base): - """ - This class defines the methods and properties that pertain to the definition of a draft - feature. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> DraftFeatureInput: - return DraftFeatureInput() - def setSingleAngle(self, isSymmetric: bool, angle: core.ValueInput) -> bool: + @property + def faces(self) -> list[BRepFace]: """ - Defines the draft to be defined so that a single angle is used for all drafts. - If the isSymmetric is true then the faces are split along the parting plane and drafted - independently using the same angle. - isSymmetric : Set to 'true' if the faces are to be split along the plane and drafted symmetrically. This - will have the side effect of setting the isSymmetric property to the same value. - angle : The ValueInput object that defines the angle of the draft. This can be a positive or negative - value which will affect the direction of the draft along with the isDirectionFlipped property. - Returns true if successful + Gets the faces the decal is associated with. Typically, this is an array containing a single + face. If the isChainFaces property is true, this will return the primary + face. If the isChainFaces property is false, the decal is limited to the faces in this + list. + + If multiple faces have been provided, the first face in the list is the + primary face, which is used to position and orient the decal. + + To set the faces, use the redefine method. + """ + return [BRepFace()] + @property + def opacity(self) -> float: + """ + Gets and sets the opacity of the decal where 0 is completely transparent and 1.0 is completely + opaque. Setting this property to a value outside the range of 0-1 will result in the value + being set to the closest valid value. + + Defaults to 1.0 when the input is created. + """ + return float() + @opacity.setter + def opacity(self, value: float): + """ + Gets and sets the opacity of the decal where 0 is completely transparent and 1.0 is completely + opaque. Setting this property to a value outside the range of 0-1 will result in the value + being set to the closest valid value. + + Defaults to 1.0 when the input is created. + """ + pass + @property + def isChainFaces(self) -> bool: + """ + Returns if the decal is limited to a specified set of faces or wraps onto all faces in the body. If this + property is True, a single face has been specified and the decal can wrap onto other faces of the body. + If False, the decal is limited to the set of specified faces. + + To change this setting, use the redefine method. """ return bool() - def setTwoAngles(self, angleOne: core.ValueInput, angleTwo: core.ValueInput) -> bool: + @property + def isVisible(self) -> bool: """ - Defines both angles to use when the surfaces are split along the draft plane and - the faces on each side of the plane are drafted independently from the other side. - angleOne : The ValueInput object that defines the angle for the faces on the first side of the draft plane. - angleTwo : The ValueInput object that defines the angle for the faces on the second side of the draft plane. - Returns true if successful + Returns if the decal is currently visible in the graphics window. The isLightBulbOn + property of the decal controls if the decal should be displayed or not, but even + when true, the decal 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 the + decals in a component. This property takes all of that into account when reporting + if the decal is visible or not. """ return bool() @property - def inputFaces(self) -> list[BRepFace]: + def imageFilename(self) -> str: """ - Gets and sets the input faces. - If IsTangentChain is true, all the faces that are tangentially connected to the input faces (if any) will also be included. + Gets and sets the filename of the image used for the decal. When getting this property, + the filename returned is the file that was used when the decal 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 decal. + PNG, JPEG, and TIFF files are supported. """ - return [BRepFace()] - @inputFaces.setter - def inputFaces(self, value: list[BRepFace]): + return str() + @imageFilename.setter + def imageFilename(self, value: str): """ - Gets and sets the input faces. - If IsTangentChain is true, all the faces that are tangentially connected to the input faces (if any) will also be included. + Gets and sets the filename of the image used for the decal. When getting this property, + the filename returned is the file that was used when the decal 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 decal. + PNG, JPEG, and TIFF files are supported. """ pass @property - def plane(self) -> core.Base: + def transform(self) -> core.Matrix3D: """ - Gets and sets the plane that defines the direction in which the draft is applied. This can be a planar BrepFace, or a ConstructionPlane. + Gets the transform of the decal. The returned matrix defines the position, rotation, + scaling, and flipping. This is done by providing a 3D matrix which defines a 3D coordinate system + in model space. The origin of the matrix defines the center of the decal and must lie somewhere on + the first face. The normal of the face defines the Z axis of the matrix and the X and Y axes + define the orientation of the decal and must be both perpendicular to the Z axis and to each other. + Reversing the direction of the X or Y axis will flip the decal in that direction. The magnitude + of the X and Y axes controls the scale and the scale can be non-uniform, meaning the length of + the X and Y vectors do not need to be the same. + + To set the transform, use the redefine method. """ - return core.Base() - @plane.setter - def plane(self, value: core.Base): + return core.Matrix3D() + @property + def isLightBulbOn(self) -> bool: """ - Gets and sets the plane that defines the direction in which the draft is applied. This can be a planar BrepFace, or a ConstructionPlane. + Gets and sets if the light bulb of this decal as displayed in the browser is on or off. + + A decal will only be visible if the light bulb is switched on. However, the light bulb + can be on and the decal still invisible if the visibility of a higher level occurrence + has its light bulb off or if the light bulb for the Decals folder is off to turn off all + decals in a component. + """ + return bool() + @isLightBulbOn.setter + def isLightBulbOn(self, value: bool): + """ + Gets and sets if the light bulb of this decal as displayed in the browser is on or off. + + A decal will only be visible if the light bulb is switched on. However, the light bulb + can be on and the decal still invisible if the visibility of a higher level occurrence + has its light bulb off or if the light bulb for the Decals folder is off to turn off all + decals in a component. """ pass @property - def isTangentChain(self) -> bool: + def entityToken(self) -> str: """ - Gets and sets if any faces that are tangentially connected to any of - the input faces will also be included in setting InputEntities. It defaults to true. + Returns a token for the Decal object. This can be saved and used at a later + time with the Design.findEntityByToken method to get back the same Decal. + + 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 bool() - @isTangentChain.setter - def isTangentChain(self, value: bool): + return str() + @property + def assemblyContext(self) -> Occurrence: """ - Gets and sets if any faces that are tangentially connected to any of - the input faces will also be included in setting InputEntities. It defaults to true. + 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. """ - pass + return Occurrence() @property - def isDirectionFlipped(self) -> bool: + def nativeObject(self) -> Decal: """ - Gets and sets if the direction of the draft is flipped. + 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 bool() - @isDirectionFlipped.setter - def isDirectionFlipped(self, value: bool): + return Decal() + @property + def timelineObject(self) -> TimelineObject: """ - Gets and sets if the direction of the draft is flipped. + Returns the timeline object associated with the creation of this decal. """ + return TimelineObject() + +class DecalInput(core.Base): + """ + The DecalInput object is used to define the various options when creating a new decal. It's created + using the Decals.createInput method and is used by the Decals.add method to create a Decal. + """ + def __init__(self): pass + @staticmethod + def cast(arg) -> DecalInput: + return DecalInput() @property - def angleOne(self) -> core.ValueInput: + def faces(self) -> list[BRepFace]: """ - Gets the first, or the only angle in the case of a single angle definition. + Gets and sets the faces the decal will be associated with. Typically, this will be an array containing + a single face and the isChainFaces property on the input will be true. The position and orientation of + the decal is based on this face and the decal can wrap onto other faces in the body. + + If the isChainFace property is false, the decal will only be applied to the provided faces where the + first face is used to calculate the position and orientation of the decal. """ - return core.ValueInput() + return [BRepFace()] + @faces.setter + def faces(self, value: list[BRepFace]): + """ + Gets and sets the faces the decal will be associated with. Typically, this will be an array containing + a single face and the isChainFaces property on the input will be true. The position and orientation of + the decal is based on this face and the decal can wrap onto other faces in the body. + + If the isChainFace property is false, the decal will only be applied to the provided faces where the + first face is used to calculate the position and orientation of the decal. + """ + pass @property - def angleTwo(self) -> core.ValueInput: + def opacity(self) -> float: """ - Gets the second angle. This can be null in the case where a single angle definition is used. + Gets and sets the opacity of the decal where 0 is completely transparent and 1.0 is completely + opaque. Setting this property to a value outside the range of 0-1 will result in the value + being set to the closest valid value. + + Defaults to 1.0 when the input is created. """ - return core.ValueInput() + return float() + @opacity.setter + def opacity(self, value: float): + """ + Gets and sets the opacity of the decal where 0 is completely transparent and 1.0 is completely + opaque. Setting this property to a value outside the range of 0-1 will result in the value + being set to the closest valid value. + + Defaults to 1.0 when the input is created. + """ + pass @property - def isSymmetric(self) -> bool: + def isChainFaces(self) -> bool: """ - Gets if the draft is symmetric from the draft plane. This only applies in the case where two - angles have been specified and should be ignored otherwise. + Controls if the decal will wrap onto the faces that connect to the face the decal is placed on. When this + is true, the list of faces should contain only one face. + + Defaults to true when the input is created. + """ + return bool() + @isChainFaces.setter + def isChainFaces(self, value: bool): + """ + Controls if the decal will wrap onto the faces that connect to the face the decal is placed on. When this + is true, the list of faces should contain only one face. + + Defaults to true when the input is created. + """ + pass + @property + def imageFilename(self) -> str: + """ + Gets and sets the filename of the image used for the decal. + + When setting this property, it is the full filename to the image to use for the decal. + PNG, JPG, 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 decal. + + When setting this property, it is the full filename to the image to use for the decal. + PNG, JPG, and TIFF files are supported. + """ + pass + @property + def transform(self) -> core.Matrix3D: + """ + Gets and sets the transform of the decal. This controls the position, rotation, + scaling, and flipping. This is done by providing a 3D matrix that defines a 3D coordinate system + in model space. The origin of the matrix defines the center of the decal and must lie somewhere + on the first face. The Z-axis of the matrix should be the same as the normal of the face at the + origin. The X and Y axes define the orientation of the decal and must be both perpendicular to + the Z and each other. Reversing the direction of the X or Y axis will flip the decal in that + direction. The magnitude of the X and Y axes controls the scale, and the scale can be non-uniform, + meaning the length of the X and Y vectors do not need to be the same. + """ + return core.Matrix3D() + @transform.setter + def transform(self, value: core.Matrix3D): + """ + Gets and sets the transform of the decal. This controls the position, rotation, + scaling, and flipping. This is done by providing a 3D matrix that defines a 3D coordinate system + in model space. The origin of the matrix defines the center of the decal and must lie somewhere + on the first face. The Z-axis of the matrix should be the same as the normal of the face at the + origin. The X and Y axes define the orientation of the decal and must be both perpendicular to + the Z and each other. Reversing the direction of the X or Y axis will flip the decal in that + direction. The magnitude of the X and Y axes controls the scale, and the scale can be non-uniform, + meaning the length of the X and Y vectors do not need to be the same. + """ + 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 Decals(core.Base): + """ + Provides access to the Decals in a component and provides the functionality + to add new Decals. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Decals: + return Decals() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> Decal: + return None + def __iter__(self) -> Iterator[Decal]: + return None + def item(self, index: int) -> Decal: + """ + Returns the specified Decal 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 Decal() + def itemByName(self, name: str) -> Decal: + """ + Returns the specified decal using the name of the decal. + name : The name of the decal as seen in the browser and timeline. + Returns the specified Decal object, if it exists. Otherwise it returns null. + """ + return Decal() + def add(self, input: DecalInput) -> Decal: + """ + Creates a new decal. 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 decal. + input : The DecalInput object that defines the required information needed to create a new decal. + + A DecalInput object is the logical equivalent to the Decal command dialog by providing access to + all the decal options. Passing in the DecalInput object to the add method is the equivalent of + clicking the OK button on the dialog to create the decal. + Returns the newly created Decal object. + """ + return Decal() + def createInput(self, imageFilename: str, faces: list[BRepFace], point: core.Point3D) -> DecalInput: + """ + Creates a new DecalInput object. A DecalInput object is the logical equivalent to the Decal + command dialog by providing access to all the decal options. Passing in the DecalInput object + to the add method is the equivalent of clicking the OK button on the dialog to create the decal. + imageFilename : The full filename to the image to use for the decal. PNG, JPEG, and TIFF files are supported. + faces : Specifies the faces the decal will be associated with. Typically, this will be an array containing + a single face. If the isChainFaces property on the input is true, only a single face is needed, + and the rest of the faces in the body will automatically be used. If the isChainFaces property is + false, this defines a subset of faces in the body to which the decal will be applied. + + If multiple faces are provided, the first face in the array is used to position and orient the + decal. The position and orientation are relative to the first face. Any additional faces should + connect directly or indirectly through other connected faces to the first face. + point : Specifies a point on the first face that defines the center position of the decal. + Returns a DecalInput object or null in the case of failure. + """ + return DecalInput() + @property + def count(self) -> int: + """ + Returns the number of decals in the component. + """ + return int() + +class DeleteFaceFeatures(core.Base): + """ + Collection that provides access to all of the existing DeleteFaceFeature features in a component + and supports the ability to create new DeleteFaceFeature features. + + The SurfaceDeleteFaceFeature and DeleteFaceFeature differ in that the SurfaceDeleteFaceFeature + can delete any face without any restrictions. If the body is a solid, it will become a surface + when the first face is deleted. The specified face is deleted without any other changes being + made to the body. The DeleteFaceFeature deletes the specified face and also modifies the other faces + in the body to heal or fill in the area of the deleted face. This means that a solid body will + remain solid. + """ + def __init__(self): + pass + @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. + 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 DeleteFaceFeature() + def itemByName(self, name: str) -> DeleteFaceFeature: + """ + Function that returns the specified DeleteFaceFeature object 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 DeleteFaceFeature() + def add(self, facesToDelete: core.Base) -> DeleteFaceFeature: + """ + Creates a new SurfaceDeleteFace feature. This deletes the specified faces + from their bodies and attempts to heal the body. The method will fail if + the body cannot be healed. This is equivalent to selecting and deleting + faces when in the Patch workspace. + facesToDelete : A single BRepFace or an ObjectCollection containing multiple BRepFace objects. + Returns the newly created DeleteFaceFeature object or null if the creation failed. + """ + return DeleteFaceFeature() + @property + def count(self) -> int: + """ + The number of DeleteFaceFeature objects in the collection. + """ + 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 + feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> DraftFeatureInput: + return DraftFeatureInput() + def setSingleAngle(self, isSymmetric: bool, angle: core.ValueInput) -> bool: + """ + Defines the draft to be defined so that a single angle is used for all drafts. + If the isSymmetric is true then the faces are split along the parting plane and drafted + independently using the same angle. + isSymmetric : Set to true if the faces are to be split along the plane or parting line and drafted symmetrically. This + will have the side effect of setting the isSymmetric property to the same value. + angle : The ValueInput object that defines the angle of the draft. This can be a positive or negative + value which will affect the direction of the draft along with the isDirectionFlipped property. + Returns true if successful + """ + return bool() + def setTwoAngles(self, angleOne: core.ValueInput, angleTwo: core.ValueInput) -> bool: + """ + Defines both angles to use when the surfaces are split along the draft plane or parting line and + the faces on each side of the plane are drafted independently. + angleOne : The ValueInput object that defines the angle for the faces on the first side of the draft plane + or parting line. + angleTwo : The ValueInput object that defines the angle for the faces on the second side of the draft plane + or parting line. + Returns true if successful + """ + return bool() + @property + def inputFaces(self) -> list[BRepFace]: + """ + Gets and sets the input faces. + If IsTangentChain is true, all the faces that are tangentially connected to the input faces (if any) will also be included. + """ + return [BRepFace()] + @inputFaces.setter + def inputFaces(self, value: list[BRepFace]): + """ + Gets and sets the input faces. + If IsTangentChain is true, all the faces that are tangentially connected to the input faces (if any) will also be included. + """ + pass + @property + def plane(self) -> core.Base: + """ + Gets and sets the plane that defines the direction in which the draft is applied. This is also referred to + as the pull direction. This can be defined using either a planar BRepFace or a ConstructionPlane. + """ + return core.Base() + @plane.setter + def plane(self, value: core.Base): + """ + Gets and sets the plane that defines the direction in which the draft is applied. This is also referred to + as the pull direction. This can be defined using either a planar BRepFace or a ConstructionPlane. + """ + pass + @property + def isTangentChain(self) -> bool: + """ + Gets and sets if any faces that are tangentially connected to any of + the input faces will also be included in setting InputEntities. It defaults to true. + """ + return bool() + @isTangentChain.setter + def isTangentChain(self, value: bool): + """ + Gets and sets if any faces that are tangentially connected to any of + the input faces will also be included in setting InputEntities. It defaults to true. + """ + pass + @property + def isDirectionFlipped(self) -> bool: + """ + Gets and sets if the direction of the draft is flipped. This defaults to false. + """ + return bool() + @isDirectionFlipped.setter + def isDirectionFlipped(self, value: bool): + """ + Gets and sets if the direction of the draft is flipped. This defaults to false. + """ + pass + @property + def angleOne(self) -> core.ValueInput: + """ + Gets the first, or the only angle in the case of a single angle definition. + """ + return core.ValueInput() + @property + def angleTwo(self) -> core.ValueInput: + """ + Gets the second angle. This can be null in the case where a single angle definition is used. + """ + return core.ValueInput() + @property + def isSymmetric(self) -> bool: + """ + Gets if the draft is symmetric from the draft plane. This only applies in the case where two + angles have been specified and should be ignored otherwise. """ return bool() @property @@ -7554,6 +12587,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 +12600,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 @@ -7597,6 +12636,220 @@ def count(self) -> int: """ return int() +class EmbossFeatureInput(core.Base): + """ + This class defines the methods and properties that pertain to the definition of an emboss feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> EmbossFeatureInput: + return EmbossFeatureInput() + @property + def profiles(self) -> list[core.Base]: + """ + Gets and sets an array of Profile objects that define the shape of the emboss. + The profile argument can be Profile and SketchText objects. + When multiple objects are used, all profiles and sketch texts must be co-planar. + """ + return [core.Base()] + @profiles.setter + def profiles(self, value: list[core.Base]): + """ + Gets and sets an array of Profile objects that define the shape of the emboss. + The profile argument can be Profile and SketchText objects. + When multiple objects are used, all profiles and sketch texts must be co-planar. + """ + pass + @property + def inputFaces(self) -> list[BRepFace]: + """ + Gets and sets an array of BRepFace objects that define the faces the emboss will be performed on. By default, + faces that are tangent to any of the input faces are also used. Use the isTangentChain property of the + EmbossFeatureInput object to disable the use of tangent faces. If multiple inputFaces are provided, they must + all be on the same body. + """ + return [BRepFace()] + @inputFaces.setter + def inputFaces(self, value: list[BRepFace]): + """ + Gets and sets an array of BRepFace objects that define the faces the emboss will be performed on. By default, + faces that are tangent to any of the input faces are also used. Use the isTangentChain property of the + EmbossFeatureInput object to disable the use of tangent faces. If multiple inputFaces are provided, they must + all be on the same body. + """ + pass + @property + def isTangentChain(self) -> bool: + """ + Gets and sets whether any faces that are tangentially connected to any of the input faces will + also be used. By default this property is true. + """ + return bool() + @isTangentChain.setter + def isTangentChain(self, value: bool): + """ + Gets and sets whether any faces that are tangentially connected to any of the input faces will + also be used. By default this property is true. + """ + pass + @property + def depth(self) -> core.ValueInput: + """ + Gets and sets the ValueInput object that defines the depth of the emboss. A positive value results in the emboss + protruding out of the body and the negative value results in the emboss going into the body. + """ + return core.ValueInput() + @depth.setter + def depth(self, value: core.ValueInput): + """ + Gets and sets the ValueInput object that defines the depth of the emboss. A positive value results in the emboss + protruding out of the body and the negative value results in the emboss going into the body. + """ + pass + @property + def horizontalDistance(self) -> core.ValueInput: + """ + Gets and sets the horizontal offset distance. This defaults to zero. + """ + return core.ValueInput() + @horizontalDistance.setter + def horizontalDistance(self, value: core.ValueInput): + """ + Gets and sets the horizontal offset distance. This defaults to zero. + """ + pass + @property + def verticalDistance(self) -> core.ValueInput: + """ + Gets and sets the vertical offset distance. This defaults to zero. + """ + return core.ValueInput() + @verticalDistance.setter + def verticalDistance(self, value: core.ValueInput): + """ + Gets and sets the vertical offset distance. This defaults to zero. + """ + pass + @property + def rotationAngle(self) -> core.ValueInput: + """ + Gets and sets the rotation angle. This defaults to zero. + """ + return core.ValueInput() + @rotationAngle.setter + def rotationAngle(self, value: core.ValueInput): + """ + Gets and sets the rotation angle. This defaults to zero. + """ + 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 creationOccurrence(self) -> Occurrence: + """ + In order for geometry to be transformed correctly, an Occurrence for creation needs to be + specified when the emboss feature is created based on geometry (e.g. a profile and/or face(s)) + in another component AND (the emboss 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 emboss feature is created based on geometry (e.g. a profile and/or face(s)) + in another component AND (the emboss feature) is not in the root component. + The creationOccurrence is analogous to the active occurrence in the UI + """ + pass + +class EmbossFeatures(core.Base): + """ + Collection that provides access to all of the existing emboss features in a component + and supports the ability to create new emboss features. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> EmbossFeatures: + return EmbossFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> EmbossFeature: + return None + def __iter__(self) -> Iterator[EmbossFeature]: + return None + def item(self, index: int) -> EmbossFeature: + """ + Function that returns the specified emboss 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 EmbossFeature() + def itemByName(self, name: str) -> EmbossFeature: + """ + Function that returns the specified emboss 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 EmbossFeature() + def createInput(self, profiles: list[core.Base], faces: list[BRepFace], depth: core.ValueInput) -> EmbossFeatureInput: + """ + Creates an EmbossFeatureInput object. Use properties and methods on this object + to define the emboss feature you want to create and then use the Add method, passing in + the EmbossFeatureInput object to create the feature. + profiles : An array of Profile objects that define the shape of the emboss. + The profile argument can be Profile and SketchText objects. + When multiple objects are used, all profiles and sketch texts must be co-planar. + faces : An array of BRepFace objects that define the faces the emboss will be performed on. By default, + faces that are tangent to any of the input faces are also used. Use the isTangentChain property + on the input object to disable the use of tangent faces. + depth : A ValueInput object that defines the depth of the emboss. A positive value results in the emboss + protruding out of the body and a negative value results in the emboss going into the body. + Returns the newly created EmbossFeatureInput object or null if the creation failed. + """ + return EmbossFeatureInput() + def add(self, input: EmbossFeatureInput) -> EmbossFeature: + """ + Creates a new emboss feature. + input : An EmbossFeatureInput object that defines the desired emboss feature. Use the createInput + method to create a new EmbossFeatureInput object and then use methods on the EmbossFeatureInput + object to define the emboss feature. + Returns the newly created EmbossFeature object or null if the creation failed. + """ + return EmbossFeature() + @property + def count(self) -> int: + """ + The number of emboss features in the collection. + """ + return int() + class ExportManager(core.Base): """ Provides support for exporting model data to various formats. @@ -7606,7 +12859,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 +12871,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 +12883,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 +12895,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,19 +12907,19 @@ 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 + Creates an FusionArchiveExportOptions object that's used to export a design in Fusion archive format. Creation of the FusionArchiveExportOptions object does not perform the export. You must pass this object to the ExportManager.execute method to perform the export. The FusionArchiveExportOptions supports any available - options when exporting to Fusion 360 archive format. - filename : The filename of the Fusion 360 archive file to be created. + options when exporting to Fusion archive format. + filename : The filename of the Fusion archive 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 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 +12931,69 @@ 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() + def createDXFSketchExportOptions(self, filename: str, sketch: Sketch) -> DXFSketchExportOptions: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Creates a DXFSketchExportOptions object that's used to export a sketch in DXF format. Creation + of the DXFSketchExportOptions object does not perform the export. You must call the execute method after changing + the settings to the desired values. + filename : The filename of the DXF file to be created. + sketch : The Sketch object to export. + The created DXFSketchExportOptions object or null if the creation failed. + """ + return DXFSketchExportOptions() class ExportOptions(core.Base): """ @@ -7724,20 +13024,20 @@ 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 class ExtendFeatureInput(core.Base): """ - This class defines the methods and properties that pertain to the definition of a extend feature. + This class defines the methods and properties that pertain to the definition of an extend feature. """ def __init__(self): pass @@ -7843,6 +13143,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,9 +13156,9 @@ 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 + Creates an 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 the ExtendFeatureInput object. edges : The surface edges to extend. @@ -7926,62 +13232,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 +13246,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 +13261,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 +13273,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 +13328,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 @@ -8118,7 +13349,7 @@ def creationOccurrence(self, value: Occurrence): def isSolid(self) -> bool: """ Specifies if the extrusion should be created as a solid or surface. If - it's a surface then there aren't any end caps and it's open. When a ExtrudeFeature + it's a surface then there aren't any end caps and it's open. When an ExtrudeFeature input is created, this is initialized to true so a solid will be created if it's not changed. """ return bool() @@ -8126,7 +13357,7 @@ def isSolid(self) -> bool: def isSolid(self, value: bool): """ Specifies if the extrusion should be created as a solid or surface. If - it's a surface then there aren't any end caps and it's open. When a ExtrudeFeature + it's a surface then there aren't any end caps and it's open. When an ExtrudeFeature input is created, this is initialized to true so a solid will be created if it's not changed. """ pass @@ -8162,7 +13393,7 @@ def startExtent(self) -> ExtentDefinition: Gets and sets the extent used to define the start of the extrusion. When a new ExtrudeFeatureInput object is created the start extent is initialized to be the profile plane but you can change it to a profile plane with offset or from an object by setting this property with either a - ProfilePlaneWithOffsetStartDefinition or a EntityStartDefinition object. You can get either one + OffsetStartDefinition or an EntityStartDefinition object. You can get either one of those objects by using the static create method on the class. """ return ExtentDefinition() @@ -8172,7 +13403,7 @@ def startExtent(self, value: ExtentDefinition): Gets and sets the extent used to define the start of the extrusion. When a new ExtrudeFeatureInput object is created the start extent is initialized to be the profile plane but you can change it to a profile plane with offset or from an object by setting this property with either a - ProfilePlaneWithOffsetStartDefinition or a EntityStartDefinition object. You can get either one + OffsetStartDefinition or an EntityStartDefinition object. You can get either one of those objects by using the static create method on the class. """ pass @@ -8310,6 +13541,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 +13594,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. @@ -8373,6 +13609,140 @@ def count(self) -> int: """ return int() +class FaceGroup(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Represent a connected region on a single geometric surface. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> FaceGroup: + return FaceGroup() + def createForAssemblyContext(self, occurrence: Occurrence) -> FaceGroup: + """ + 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 for the created proxy. + Returns the new face group proxy or null if this isn't the NativeObject. + """ + return FaceGroup() + @property + def parentBody(self) -> MeshBody: + """ + Returns the parent body of the face. + """ + return MeshBody() + @property + def area(self) -> float: + """ + Returns the area in cm ^ 2. + """ + return float() + @property + def boundingBox(self) -> core.BoundingBox3D: + """ + Returns the bounding box of this face + """ + return core.BoundingBox3D() + @property + def centroid(self) -> core.Point3D: + """ + Returns a point at the centroid (aka, geometric center) of the face. + """ + return core.Point3D() + @property + def tempId(self) -> int: + """ + Returns the temporary ID of this face group. This ID is only good while the document + remains open and as long as the owning mesh body is not modified in any way. + """ + return int() + @property + def entityToken(self) -> str: + """ + Returns a token for the face group object. This can be saved and used at a later + time with the Design.findEntityByToken method to get back the same face. + + 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. + + This is only valid for faces that exist in the design, (the isTemporary + property is false). + """ + 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 + face group object 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) -> FaceGroup: + """ + The NativeObject is the object outside the context of an assembly. + Returns null in the case where this object is not in the context of + an assembly but is already the native object. + """ + return FaceGroup() + @property + def isPlanar(self) -> bool: + """ + Returns if the face group is planar or not. + """ + return bool() + @property + def attributes(self) -> core.Attributes: + """ + Returns the collection of attributes associated with this face group. + """ + return core.Attributes() + +class FaceGroups(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + FaceGroup collection. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> FaceGroups: + return FaceGroups() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> FaceGroup: + return None + def __iter__(self) -> Iterator[FaceGroup]: + return None + def item(self, index: int) -> FaceGroup: + """ + Function that returns the specified faceGroup 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 FaceGroup() + @property + def count(self) -> int: + """ + The number of FaceGroup objects in the collection. + """ + return int() + class Feature(core.Base): """ Base class object representing all features. @@ -8432,8 +13802,15 @@ def isParametric(self) -> bool: @property def faces(self) -> BRepFaces: """ - Returns the faces that were created by this feature. - This works for both parametric and non-parametric features. + Returns the faces that were created by this feature. This works for + both parametric and non-parametric features. + + Depending on the modifications made to the body after the feature was + created, this may not return all of the faces. For example, when a + component is created from a body, the original body and its faces + no longer exist, so this won't return any faces. However, you can + roll the timeline to immediately after the feature, and all the + original faces will be available. """ return BRepFaces() @property @@ -8541,6 +13918,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 +13950,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 +13963,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. @@ -8602,7 +13991,7 @@ def itemByName(self, name: str) -> Feature: @property def count(self) -> int: """ - Returns the number of bodies in the collection. + Returns the number of features in the collection. """ return int() @property @@ -8885,12 +14274,6 @@ def loftFeatures(self) -> LoftFeatures: """ return LoftFeatures() @property - def ruleFilletFeatures(self) -> RuleFilletFeatures: - """ - Returns the collection that provides access to the existing form features. - """ - return RuleFilletFeatures() - @property def surfaceDeleteFaceFeatures(self) -> SurfaceDeleteFaceFeatures: """ Returns the collection that provides access to the existing Surface Delete Face features. @@ -8950,6 +14333,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 +14348,217 @@ 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 meshRepairFeatures(self) -> MeshRepairFeatures: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns the collection that provides access to the mesh repair features within the component + and supports the creation of new mesh repair features. + """ + return MeshRepairFeatures() + @property + def meshSmoothFeatures(self) -> MeshSmoothFeatures: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns the collection that provides access to the mesh smooth features within the component + and supports the creation of new mesh smooth features. + """ + return MeshSmoothFeatures() + @property + def meshReduceFeatures(self) -> MeshReduceFeatures: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns the collection that provides access to the mesh reduce features within the component + and supports the creation of new mesh reduce features. + """ + return MeshReduceFeatures() + @property + def meshRemeshFeatures(self) -> MeshRemeshFeatures: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns the collection that provides access to the mesh remesh features within the component + and supports the creation of new mesh remesh features. + """ + return MeshRemeshFeatures() + @property + def meshGenerateFaceGroupsFeatures(self) -> MeshGenerateFaceGroupsFeatures: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns the collection that provides access to the mesh generate facegroup features + within the component and supports the creation of new mesh generate facegroup features. + """ + return MeshGenerateFaceGroupsFeatures() + @property + def meshShellFeatures(self) -> MeshShellFeatures: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns the collection that provides access to the mesh shell features + within the component and supports the creation of new mesh shell features. + """ + return MeshShellFeatures() + @property + def tessellateFeatures(self) -> TessellateFeatures: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns the collection that provides access to the tessellate features + within the component and supports the creation of new tessellate features. + """ + return TessellateFeatures() + @property + def meshCombineFeatures(self) -> MeshCombineFeatures: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns the collection that provides access to the mesh combine features + within the component and supports the creation of new mesh combine features. + """ + return MeshCombineFeatures() + @property + def ripFeatures(self) -> RipFeatures: + """ + Returns the collection that provides access to the existing Rip features. + """ + return RipFeatures() + @property + def meshConvertFeatures(self) -> MeshConvertFeatures: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns the collection that provides access to the mesh convert features + within the component and supports the creation of new mesh convert features. + """ + return MeshConvertFeatures() + @property + def meshCombineFaceGroupsFeatures(self) -> MeshCombineFaceGroupsFeatures: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns the collection that provides access to the mesh combine face groups features + within the component and supports the creation of new mesh combine face groups features. + """ + return MeshCombineFaceGroupsFeatures() + @property + def mergeFacesFeatures(self) -> MergeFacesFeatures: + """ + Returns the collection object that supports the ability to merge faces. + Merging faces is currently limited to a Direct Modeling design or a body in a base feature. + The result of merging faces is a direct B-Rep modification, and the change is not represented + as a feature in the browser. + """ + return MergeFacesFeatures() + @property + def meshSeparateFeatures(self) -> MeshSeparateFeatures: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns the collection that provides access to the mesh separate features + within the component and supports the creation of new mesh separate features. + """ + return MeshSeparateFeatures() + @property + def meshReverseNormalFeatures(self) -> MeshReverseNormalFeatures: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns the collection that provides access to the mesh reverse normal features + within the component and supports the creation of new mesh reverse normal features. + """ + return MeshReverseNormalFeatures() + @property + def arrangeFeatures(self) -> ArrangeFeatures: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns the collection that provides access to the Arrange features + within the component and supports the creation of new Arrange features. + """ + return ArrangeFeatures() + @property + def volumetricCustomFeatures(self) -> VolumetricCustomFeatures: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns the collection that provides access to volumetric custom features within the component + and supports the creation of new volumetric custom features. + """ + return VolumetricCustomFeatures() + @property + def volumetricModelToMeshFeatures(self) -> VolumetricModelToMeshFeatures: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns the collection that provides access to the Volumetric Model to Mesh features + within the component and supports the creation of new Volumetric Model to Mesh features. + """ + return VolumetricModelToMeshFeatures() + @property + def embossFeatures(self) -> EmbossFeatures: + """ + Returns the collection that provides access to the emboss features + within the component and supports the creation of new emboss features. + """ + return EmbossFeatures() + @property + def hemFeatures(self) -> HemFeatures: + """ + Returns the collection that provides access to the existing Hem features. + """ + return HemFeatures() + @property + def meshRemoveFeatures(self) -> MeshRemoveFeatures: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns the collection that provides access to the mesh remove features + within the component and supports the creation of new mesh remove features. + """ + return MeshRemoveFeatures() class FilletEdgeSet(core.Base): """ @@ -8971,6 +14569,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 +14590,252 @@ 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. + + For an asymmetric fillet edge set, this must always be tangent continuity (G1) + and setting it to another value will fail. + """ + 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. + + For an asymmetric fillet edge set, this must always be tangent continuity (G1) + and setting it to another value will fail. + """ + 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() + def addAsymmetricRadiusEdgeSet(self, entities: core.ObjectCollection, offsetOne: core.ValueInput, offsetTwo: core.ValueInput, isTangentChain: bool) -> AsymmetricFilletEdgeSetInput: + """ + Adds an asymmetric 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 AsymmetricFilletEdgeSetInput 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. + offsetOne : A ValueInput object that defines the offset of the fillet in the first direction. 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. + offsetTwo : A ValueInput object that defines the offset of the fillet in the second direction. 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 or faces that are tangentially connected to + the input edges or faces will also be filleted. + Returns the newly created AsymmetricFilletEdgeSetInput. This object provides access to additional settings. + """ + return AsymmetricFilletEdgeSetInput() @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. + """ + 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 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 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,60 +14860,82 @@ 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() - @property - def isG2(self) -> bool: + return ChordLengthFilletEdgeSet() + def addAsymmetricRadiusEdgeSet(self, entities: core.ObjectCollection, offsetOne: core.ValueInput, offsetTwo: core.ValueInput, isTangentChain: bool) -> AsymmetricFilletEdgeSet: """ - Gets and sets if the fillet uses the G2 (curvature-continuity) surface quality option . + Adds an asymmetric fillet edge set to the 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. + offsetOne : A ValueInput object that defines the offset distance of the fillet in the first direction. 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. + offsetTwo : A ValueInput object that defines the offset distance of the fillet in the second direction. 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 or faces that are tangentially connected to + the input edges or faces will also be filleted. + Returns the newly created AsymmetricFilletEdgeSet. """ - return bool() - @isG2.setter - def isG2(self, value: bool): + return AsymmetricFilletEdgeSet() + @property + 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: """ Gets and sets if a rolling ball or setback solution is to be used in any corners. + For an asymmetric fillet only a setback solution is supported, so any asymmetric + edge sets will ignore this setting and will always be a setback corner. """ return bool() @isRollingBallCorner.setter def isRollingBallCorner(self, value: bool): """ Gets and sets if a rolling ball or setback solution is to be used in any corners. - """ - 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. + For an asymmetric fillet only a setback solution is supported, so any asymmetric + edge sets will ignore this setting and will always be a setback corner. """ pass @property @@ -9143,6 +14964,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 +14982,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. @@ -9185,6 +15019,40 @@ def itemByName(self, name: str) -> FilletFeature: Returns the specified item or null if the specified name was not found. """ return FilletFeature() + def createFullRoundFilletInput(self) -> FullRoundFilletFeatureInput: + """ + Creates a FullRoundFilletFeatureInput object. Use properties and methods on this object + to define the fillet you want to create and then use the addFullRoundFillet method, passing in + the FullRoundFilletFeatureInput object. + Returns the newly created FullRoundFilletFeatureInput object or null if the creation failed. + """ + return FullRoundFilletFeatureInput() + def addFullRoundFillet(self, input: FullRoundFilletFeatureInput) -> FilletFeature: + """ + Creates a new full round fillet feature. + input : A FullRoundFilletFeatureInput object that defines the desired fillet. + Use the createFullRoundFilletInput method to create a new FullRoundFilletFeatureInput object + and then use methods on it (the FullRoundFilletFeatureInput object) to define the fillet. + Returns the newly created FilletFeature object or null if the creation failed. + """ + return FilletFeature() + def createRuleFilletInput(self) -> RuleFilletFeatureInput: + """ + Creates a RuleFilletFeatureInput object. Use properties and methods on this object + to define the fillet you want to create and then use the addRuleFillet method, passing in + the RuleFilletFeatureInput object. + Returns the newly created RuleFilletFeatureInput object or null if the creation failed. + """ + return RuleFilletFeatureInput() + def addRuleFillet(self, input: RuleFilletFeatureInput) -> FilletFeature: + """ + Creates a new rule fillet feature. + input : A RuleFilletFeatureInput object that defines the desired fillet. + Use the createRuleFilletInput method to create a new RuleFilletFeatureInput object + and then use methods on it(the RuleFilletFeatureInput object) to define the fillet. + Returns the newly created FilletFeature object or null if the creation failed. + """ + return FilletFeature() @property def count(self) -> int: """ @@ -9201,6 +15069,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 +15105,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. @@ -9258,6 +15138,163 @@ def count(self) -> int: """ return int() +class FullRoundFilletFaceSet(core.Base): + """ + The class for the full round fillet face set. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> FullRoundFilletFaceSet: + return FullRoundFilletFaceSet() + def deleteMe(self) -> bool: + """ + Deletes the full round fillet face set from the fillet. + + When this face set is associated with an existing 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). + Returns true if the operation was successful. + """ + return bool() + @property + def centerFace(self) -> BRepFace: + """ + Gets the center face associated with this full round fillet face set. + When a center face has tangentially connected faces then + all the tangentially connected faces will be filleted automatically. + + When this face set is associated with an existing fillet feature, to get the center face 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 BRepFace() + @property + def sideOneFaces(self) -> list[BRepFace]: + """ + Gets the side one faces. + + When this face set is associated with an existing fillet feature, to get the side one faces 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 [BRepFace()] + @property + def sideTwoFaces(self) -> list[BRepFace]: + """ + Gets the side two faces. + + When this face set is associated with an existing fillet feature, to get the side two faces 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 [BRepFace()] + @property + def areAutomaticSideFaces(self) -> bool: + """ + Property that returns a boolean value indicating whether the side faces are used as automatically inferred side faces. + It returns true indicating that the side faces are not being shown in the dialog when the user edits the feature. + Calling the setSideFaces method will cause this property to be changed to false. + """ + return bool() + +class FullRoundFilletFaceSets(core.Base): + """ + Collection that provides access to all existing full round fillet face sets associated with a full round fillet feature + or a FullRoundFilletFeatureInput object, and allows adding new full round fillet face sets. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> FullRoundFilletFaceSets: + return FullRoundFilletFaceSets() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> FullRoundFilletFaceSet: + return None + def __iter__(self) -> Iterator[FullRoundFilletFaceSet]: + return None + def item(self, index: int) -> FullRoundFilletFaceSet: + """ + Function that returns the specified full round fillet face 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. + """ + return FullRoundFilletFaceSet() + def add(self, centerFace: BRepFace, sideOneFaces: list[BRepFace], sideTwoFaces: list[BRepFace], areAutomaticSideFaces: bool = True) -> FullRoundFilletFaceSet: + """ + Adds a set of faces to be filleted to the full round fillet feature. + + When this face set is associated with an existing 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). + centerFace : Input a BRepFace object that specifies the center face to be filleted. + + When specifying a center face which has tangentially connected faces then + all the tangentially connected faces will be filleted automatically. + sideOneFaces : Input array of BRepFace objects to specify the side one faces. + Only one BRepFace object which is adjacent to the center face can be provided if you set areAutomaticSideFaces to true. + sideTwoFaces : Input array of BRepFace objects to specify the side two faces. + Only one BRepFace object which is adjacent to the center face can be provided if you set areAutomaticSideFaces to true. + areAutomaticSideFaces : Optional input boolean that specifies whether the input side faces are used as automatically inferred side faces. + It defaults to true, which results in the side faces not being shown in the dialog when the user edits the feature. + The same as when the user infers the side faces from the center face selection. + When this is set to false, the side faces will be shown in the dialog as if the user had used the side face selection inputs when creating the feature. + For the default to apply the input must meet the requirements that one side one face and one side two face is input + and those faces are connected to the center face. + Returns the newly created FullRoundFilletFaceSet or null in the case of failure. + """ + return FullRoundFilletFaceSet() + @property + def count(self) -> int: + """ + The number of full round fillet face sets in the collection. + """ + return int() + +class FullRoundFilletFeatureInput(core.Base): + """ + This class defines the methods and properties that pertain to the definition of a full round fillet feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> FullRoundFilletFeatureInput: + return FullRoundFilletFeatureInput() + @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 faceSets(self) -> FullRoundFilletFaceSets: + """ + Gets the FullRoundFilletFaceSets object that provides support to create the face + sets that will be used to create the full round fillet. + """ + return FullRoundFilletFaceSets() + class GeometricConstraint(core.Base): """ The base class for all geometric constraints. @@ -9325,6 +15362,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 +15392,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 +15495,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 +15518,129 @@ def addSymmetry(self, entityOne: SketchEntity, entityTwo: SketchEntity, symmetry Returns the newly created SymmetryConstraint object or null if the creation failed. """ return SymmetryConstraint() + 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() + def createOffsetInput(self, curves: list[SketchCurve], offset: core.ValueInput) -> OffsetConstraintInput: + """ + Creates an OffsetConstraintInput object. Use properties and methods on this object to define the offset you + want to create and then use the addOffset2 method, passing in the OffsetConstraintInput object, to create the offset. + 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 parameter controlling the + offset. A positive offset value creates the offset curve to the "right" and a negative offset value goes to the "left". + + The flow direction of the provided curves implies the offset direction. For example, if two connected lines + are offset, the flow direction is from line 1 to line 2. Left and right are evaluated relative to the input + geometry. If you are standing on line 1 and looking towards line 2, the offset's left side is on your left, + and the right side is to your right. Closed single curves like circles and ellipses always have a counterclockwise + flow, so a positive offset is always to the outside. For closed splines, the positive direction is based on + the spline's parameterization. + Returns an OffsetConstraintInput object or null in the case of invalid input. + """ + return OffsetConstraintInput() + def addOffset2(self, input: OffsetConstraintInput) -> 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 object provides access to the created curves and the + parameter controlling the offset. + input : The OffsetConstraintInput object that defines the offset to create. + Returns the newly created OffsetConstraint object or null if the creation failed. + """ + return OffsetConstraint() + def addTwoSidesOffset(self, input: OffsetConstraintInput, linkOffsets: bool) -> list[OffsetConstraint]: + """ + Creates two offset constraints, which results in creating two new sets of curves that are an offset of + the input curves on each side of the original set of curves. The returned offset constraint objects + provide access to the created curves and the parameters controlling the offsets. + input : The OffsetConstraintInput object that defines the offset to create. The same definition applies to + both offsets that are created. + linkOffsets : Defines if the parameter driving the offset of the second side should reference the parameter of + the first side. This sets up the parameters so if the first side is edited, the second side will + automatically update using the same value. A value of true will create the linked parameter. + Returns an array containing the two OffsetConstraint objects or errors if the creation failed. + """ + return [OffsetConstraint()] + def addPolygon(self, lines: list[SketchLine]) -> PolygonConstraint: + """ + Creates a polygon constraint on existing lines in the sketch. + lines : An array of existing SketchLine objects in this sketch that define a valid polygon. + They must be the same length, connect at their endpoints, have the same angle between them, + and define a closed shape. The order of the lines within the array does not matter. + Returns the created PolygonConstraint or null if the creation failed. + """ + return PolygonConstraint() @property def count(self) -> int: """ @@ -9476,6 +15648,503 @@ def count(self) -> int: """ return int() +class GeometricRelationship(core.Base): + """ + This object represents a pair of entity inputs that are used when inferring a joint from geometry + or for an assembly constraint. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> GeometricRelationship: + return GeometricRelationship() + def redefineOffsetOrAngle(self, isMate: bool, offsetOrAngleValue: core.ValueInput) -> bool: + """ + This method redefines an existing geometric relationship by defining if it is a mate or + angle and specifying a new value. + + If the GeometricRelationship is associated with an existing joint or assembly constraint + (the isTemporary property is false), you need to position the timeline marker immediately + before the joint or assembly constraint. This can be accomplished using the following code: + thisJointOrConstraint.timelineObject.rollTo(True). + isMate : This argument indicates if the geometric relationship defines a mate or an angle. A value + of true indicates a mate relationship. + offsetOrAngleValue : This argument specifies the value associated with the geometric relationship. If isMate + is true, the value is a length, and if it is a real value, then it is centimeters. If it + is a string, it is an expression that must evaluate to a length. If isMate is False, + the value is an angle, and if it is a real value, then it is radians. If it is a string, + it is an expression that must evaluate to an angle. + Returns true if the redefinition was successful. + """ + return bool() + def deleteMe(self) -> bool: + """ + This method deletes this geometric relationship. + + If the isTemporary property is True, it removes it from the input object. + + If the GeometricRelationship is associated with an existing joint or assembly constraint + (the isTemporary property is false), you need to position the timeline marker immediately + before the joint or assembly constraint. This can be accomplished using the following code: + thisJointOrConstraint.timelineObject.rollTo(True). + Returns true if the delete was successful. + """ + return bool() + @property + def isSuppressed(self) -> bool: + """ + Gets and sets if this relationship is suppressed. This property is only valid when this geometric + relationship is associated with an existing AssemblyConstraint. Otherwise, getting the value of + this property will always return false, and setting it will be ignored. + """ + return bool() + @isSuppressed.setter + def isSuppressed(self, value: bool): + """ + Gets and sets if this relationship is suppressed. This property is only valid when this geometric + relationship is associated with an existing AssemblyConstraint. Otherwise, getting the value of + this property will always return false, and setting it will be ignored. + """ + pass + @property + def name(self) -> str: + """ + Returns the name of the constraint as seen in the browser. This property will only return a name + when the geometric relationship is associated with an existing AssemblyConstraint or inferred + Joint (the isTemporary property is false). Otherwise, it will return an empty string. + """ + return str() + @property + def entityOne(self) -> core.Base: + """ + Gets and sets the first entity in the relationship. The entity can be a BRepFace, BRepedge, + BRepVertex, SketchPoint, SketchCurve, ConstructionPlane, ConstructionAxis, or ConstructionPoint object. + + If the GeometricRelationship is associated with an existing joint or assembly constraint + (the isTemporary property is false), you need to position the timeline marker immediately + before the joint or assembly constraint. This can be accomplished using the following code: + thisJointOrConstraint.timelineObject.rollTo(True). + """ + return core.Base() + @entityOne.setter + def entityOne(self, value: core.Base): + """ + Gets and sets the first entity in the relationship. The entity can be a BRepFace, BRepedge, + BRepVertex, SketchPoint, SketchCurve, ConstructionPlane, ConstructionAxis, or ConstructionPoint object. + + If the GeometricRelationship is associated with an existing joint or assembly constraint + (the isTemporary property is false), you need to position the timeline marker immediately + before the joint or assembly constraint. This can be accomplished using the following code: + thisJointOrConstraint.timelineObject.rollTo(True). + """ + pass + @property + def entityTwo(self) -> core.Base: + """ + Gets and sets the second entity in the relationship. The entity can be a BRepFace, BRepedge, + BRepVertex, SketchPoint, SketchCurve, ConstructionPlane, ConstructionAxis, or ConstructionPoint object. + + If the GeometricRelationship is associated with an existing joint or assembly constraint + (the isTemporary property is false), you need to position the timeline marker immediately + before the joint or assembly constraint. This can be accomplished using the following code: + thisJointOrConstraint.timelineObject.rollTo(True). + """ + return core.Base() + @entityTwo.setter + def entityTwo(self, value: core.Base): + """ + Gets and sets the second entity in the relationship. The entity can be a BRepFace, BRepedge, + BRepVertex, SketchPoint, SketchCurve, ConstructionPlane, ConstructionAxis, or ConstructionPoint object. + + If the GeometricRelationship is associated with an existing joint or assembly constraint + (the isTemporary property is false), you need to position the timeline marker immediately + before the joint or assembly constraint. This can be accomplished using the following code: + thisJointOrConstraint.timelineObject.rollTo(True). + """ + pass + @property + def isFlipped(self) -> bool: + """ + Gets and sets if the directions of the entities are aligned or opposed. The natural direction + is for them to be opposed, and flipping them will align them. + + If the GeometricRelationship is associated with an existing joint or assembly constraint + (the isTemporary property is false), you need to position the timeline marker immediately + before the joint or assembly constraint. This can be accomplished using the following code: + thisJointOrConstraint.timelineObject.rollTo(True). + """ + return bool() + @isFlipped.setter + def isFlipped(self, value: bool): + """ + Gets and sets if the directions of the entities are aligned or opposed. The natural direction + is for them to be opposed, and flipping them will align them. + + If the GeometricRelationship is associated with an existing joint or assembly constraint + (the isTemporary property is false), you need to position the timeline marker immediately + before the joint or assembly constraint. This can be accomplished using the following code: + thisJointOrConstraint.timelineObject.rollTo(True). + """ + pass + @property + def isMate(self) -> bool: + """ + Gets and sets if this geometric relationships defines a mate or angle relationship between + the two input entities. If true, it is a mate relationship. + """ + return bool() + @property + def offsetOrAngleValue(self) -> core.ValueInput: + """ + This property is used when creating a new joint or assembly constraint and defines the + offset or angle associated with this geometric relationship. The value defaults to 0, + but can be set with a ValueInput defining a length or angle. It can be either a real + value, which will be in centimeters or radians, or a string, which is an expression + whose units are length or angle. + + If the GeometricRelationship is associated with an existing joint or assembly constraint + (the isTemporary property is false), this property will return null and fail if set. To + get and set the value in this case you should use the offsetOrAngle property to access + the controlling parameter. + """ + return core.ValueInput() + @offsetOrAngleValue.setter + def offsetOrAngleValue(self, value: core.ValueInput): + """ + This property is used when creating a new joint or assembly constraint and defines the + offset or angle associated with this geometric relationship. The value defaults to 0, + but can be set with a ValueInput defining a length or angle. It can be either a real + value, which will be in centimeters or radians, or a string, which is an expression + whose units are length or angle. + + If the GeometricRelationship is associated with an existing joint or assembly constraint + (the isTemporary property is false), this property will return null and fail if set. To + get and set the value in this case you should use the offsetOrAngle property to access + the controlling parameter. + """ + pass + @property + def offsetOrAngle(self) -> ModelParameter: + """ + This property is used when the geometric relationship is associated with an existing joint + or assembly constraint (the isTemporary property is false). It returns the parameter that + controls the offset or angle of this geometric relationship. You can change the value + by editing properties on the returned ModelParameter object. + + If this geometric relationship is associated with a JointInput object (the isTemporary + property is true), this property returns null, and you should use the offsetOrAngleValue + property to get and set the value. + """ + return ModelParameter() + @property + def parent(self) -> core.Base: + """ + Returns the parent AssemblyConstraint, Joint, InferredJointInput, or AssemblyConstraintInput + object with which this geometric relationship is associated. + """ + return core.Base() + @property + def isTemporary(self) -> bool: + """ + Specifies if this GeometricRelationship is a child of an input object is being used to create a + new Joint or AssemblyConstraint or is being used by an existing Joint or AssemblyConstraint. + """ + return bool() + @property + def angleReferenceEntity(self) -> core.Base: + """ + This property is used to define a third vector when an angle constraint is being defined. + This property is ignored for mate constraints. + + In some cases, when specifying entityOne and entityTwo for an angle constraint there + is more than one solution. When the constraint is solved, entityOne and entityTwo each define + a vector. When the reference entity is provided, the vectors need to follow the "right hand rule" + with respect to the reference entity. This means the angle between the reference entity and the + cross product of entityOne and entityTwo should be between 0 and 90 deg. + + The reference entity can be a planar BRepFace or a linear or circular BRepedge. + + This property can return and be set to null to indicate there is no reference entity. + """ + return core.Base() + @angleReferenceEntity.setter + def angleReferenceEntity(self, value: core.Base): + """ + This property is used to define a third vector when an angle constraint is being defined. + This property is ignored for mate constraints. + + In some cases, when specifying entityOne and entityTwo for an angle constraint there + is more than one solution. When the constraint is solved, entityOne and entityTwo each define + a vector. When the reference entity is provided, the vectors need to follow the "right hand rule" + with respect to the reference entity. This means the angle between the reference entity and the + cross product of entityOne and entityTwo should be between 0 and 90 deg. + + The reference entity can be a planar BRepFace or a linear or circular BRepedge. + + This property can return and be set to null to indicate there is no reference entity. + """ + pass + +class GeometricRelationships(core.Base): + """ + This object represents a set of geometry relationships. They are used when creating a new inferred + joint or assembly constraint and querying an existing one. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> GeometricRelationships: + return GeometricRelationships() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> GeometricRelationship: + return None + def __iter__(self) -> Iterator[GeometricRelationship]: + return None + def item(self, index: int) -> GeometricRelationship: + """ + Function that returns the specified GeometricRelationship 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 GeometricRelationship() + def add(self, entityOne: core.Base, entityTwo: core.Base, isMate: bool, value: core.ValueInput, biasPointOne: core.Point3D = None, biasPointTwo: core.Point3D = None) -> GeometricRelationship: + """ + Creates a GeometricRelationship object, which defines two entities that will be used to either infer + a joint or to create an assembly constraint. + entityOne : Specifies the entity from the first occurrence being constrained. The entity can be a BRepFace, BRepEdge, + BRepVertex ,SketchLine, SketchPoint, ConstructionPlane, ConstructionAxis, or ConstructionPoint object in the + component referenced by the occurrence. It must be a proxy relative to the root component of the assembly. + + For an inferred joint, if multiple geometric relationships are created, the entities for entityOne must all + be from the same occurrence.This is because a single joint will be inferred between the two occurrences. + + For an assembly constraint, if multiple geometric relationships are created, the entities for entityOne must + all be from the same occurrence. This is because all the geometric relationships constrain the occurrence + this entity is from. + entityTwo : Specifies the entity from the second occurrence being constrained. The entity can be a BRepFace, BRepEdge, + BRepVertex, SketchLine, SketchPoint, ConstructionPlane, ConstructionAxis, or ConstructionPoint object in the + component referenced by the occurrence. It must be a proxy relative to the root component of the assembly. + + For an inferred joint, if multiple geometric relationships are created, the entities for entityTwo must all + be from the same occurrence. This is because a single joint will be inferred between the two occurrences. + + For an assembly constraint, if multiple geometric relationships are created, the entities for entityTwo must + all be from the same occurrence. This is because all the geometric relationships constrain the occurrence + this entity is from. + isMate : Specifies if this geometric relationship defines a mate or an angle between the two input entities. + If true, it defines a mate; if false, it is an angle. + value : Specifies the value associated with the geometric relationship. If isMate is true, the value is a length, + and a real value in centimeters. If it is a string, it is an expression that must evaluate to a length. + If the isMate argument is False, the value is an angle, and a real value in radians. If it is a string, + it is an expression that must evaluate to an angle. + biasPointOne : This optional argument defines a position on the first entity that will be used when positioning the two + occurrences. In the user interface, if you select two faces and create an inferred joint, the two faces + will be used to mate the occurrences together. Still, there are infinite possibilities of how the + occurrences can be positioned relative to one another. The location of the selection points is used + to determine a single result, and the occurrences will be positioned so that the selection points are + coincident. There aren't selection points in the API, but you can optionally define points that will + be used, like the selection points. Fusion will calculate arbitrary points on the entities if the + bias points aren't provided. The bias points are not remembered and are only used for the initial placement. + biasPointTwo : See the description for biasPointOne. + Returns the GeometricRelationship object or null if the creation failed. + """ + return GeometricRelationship() + @property + def count(self) -> int: + """ + Returns number of geometric relationships in the collection. + """ + return int() + +class HemFeatureDefinition(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + A Base class to return the information used to define the HemFeature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> HemFeatureDefinition: + return HemFeatureDefinition() + @property + def hemEdge(self) -> BRepEdge: + """ + Gets and sets the input edge for a hem + """ + return BRepEdge() + @hemEdge.setter + def hemEdge(self, value: BRepEdge): + """ + Gets and sets the input edge for a hem + """ + pass + @property + def isFlipped(self) -> bool: + """ + Gets the flip direction for an open hem. + """ + return bool() + @isFlipped.setter + def isFlipped(self, value: bool): + """ + Gets the flip direction for an open hem. + """ + pass + @property + def bendPositionType(self) -> BendPositionTypes: + """ + Gets the bend position type for a hem. + """ + return BendPositionTypes() + @bendPositionType.setter + def bendPositionType(self, value: BendPositionTypes): + """ + Gets the bend position type for a hem. + """ + pass + +class HemFeatureInput(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 hem feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> HemFeatureInput: + return HemFeatureInput() + def setFlatHem(self, edge: BRepEdge, length: core.ValueInput, isFlipped: bool, bendPositionType: BendPositionTypes) -> bool: + """ + Sets the hem input with the values to be used in order to create a flat hem feature. + edge : The BRepEdge that defines the location of the hem. + length : The length of the hem. + isFlipped : Indicates if the hem direction is flipped. + bendPositionType : The bend location type for the hem. + Returns true if defining the hem is successful. + """ + return bool() + def setOpenHem(self, edge: BRepEdge, length: core.ValueInput, gap: core.ValueInput, isFlipped: bool, bendPositionType: BendPositionTypes) -> bool: + """ + Sets the hem input with the values to be used in order to create an open hem feature. + edge : The BRepEdge that defines the location of the hem. + length : The length of the hem. + gap : The gap distance of the hem. + isFlipped : Indicates if the hem direction is flipped. + bendPositionType : The bend location type for the hem. + Returns true if defining the hem is successful. + """ + return bool() + def setRolledHem(self, edge: BRepEdge, radius: core.ValueInput, angle: core.ValueInput, isFlipped: bool, bendPositionType: BendPositionTypes) -> bool: + """ + Sets the hem input with the values to be used in order to create a rolled hem feature. + edge : The BRepEdge that defines the location of the hem. + radius : The radius of the rolled hem. + angle : The angle of the rolled hem. + isFlipped : Indicates if the hem direction is flipped. + bendPositionType : The bend location type for the hem. + Returns true if defining the hem is successful. + """ + return bool() + def setRopeHem(self, edge: BRepEdge, length: core.ValueInput, gap: core.ValueInput, radius: core.ValueInput, isFlipped: bool, bendPositionType: BendPositionTypes) -> bool: + """ + Sets the hem input with the values to be used in order to create a rope hem feature. + edge : The BRepEdge that defines the location of the hem. + length : The length of the rope hem. + gap : The gap distance of the hem. + radius : The radius of the rope hem. + isFlipped : Indicates if the hem direction is flipped. + bendPositionType : The bend location type for the hem. + Returns true if defining the hem is successful. + """ + return bool() + def setTeardropHem(self, edge: BRepEdge, radius: core.ValueInput, length: core.ValueInput, gap: core.ValueInput, isFlipped: bool, bendPositionType: BendPositionTypes) -> bool: + """ + Sets the hem input with the values to be used in order to create a teardrop hem feature. + edge : The BRepEdge that defines the location of the hem. + radius : The radius of the teardrop hem. + length : The angle of the teardrop hem. + gap : The gap distance of the hem. + isFlipped : Indicates if the hem direction is flipped. + bendPositionType : The bend location type for the hem. + Returns true if defining the hem is successful. + """ + return bool() + def setDoubleHem(self, edge: BRepEdge, gap: core.ValueInput, length: core.ValueInput, setback: core.ValueInput, isFlipped: bool, bendPositionType: BendPositionTypes) -> bool: + """ + Sets the hem input with the values to be used in order to create a double hem feature. + edge : The BRepEdge that defines the location of the hem. + gap : The gap distance of the hem. + length : The length of the double hem. + setback : The setback of the double hem. + isFlipped : Indicates if the hem direction is flipped. + bendPositionType : The bend location type for the hem. + Returns true if defining the hem is successful. + """ + return bool() + +class HemFeatures(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 hem features in a design and supports the ability to create new hem features. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> HemFeatures: + return HemFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> HemFeature: + return None + def __iter__(self) -> Iterator[HemFeature]: + return None + def item(self, index: int) -> HemFeature: + """ + Function that returns the specified hem 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 HemFeature() + def itemByName(self, name: str) -> HemFeature: + """ + Function that returns the specified hem 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 HemFeature() + def createHemFeatureInput(self) -> HemFeatureInput: + """ + Creates a HemFeatureInput object. Use methods on this object to define the hem you want + to create and then use the add method, passing in the HemFeatureInput object. + Returns the newly created HemFeatureInput object or null if the creation failed. + """ + return HemFeatureInput() + def add(self, input: HemFeatureInput) -> HemFeature: + """ + Creates a new Hem feature. + input : A HemFeatureInput object that defines the desired hem. Use the createInput + method to create a new HemFeatureInput object and then use methods on it + (the HemFeatureInput object) to define the hem. + Returns the newly created HemFeature object or null if the creation failed. + """ + return HemFeature() + @property + def count(self) -> int: + """ + The number of hem features in the collection. + """ + return int() + class HoleFeatureInput(core.Base): """ This class defines the methods and properties that pertain to the definition of a hole @@ -9519,7 +16188,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 +16198,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,14 +16247,14 @@ 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 the type of feature this is being used with. For a hole it can be a BRepBody, BRepFace, BRepVertex, ConstructionPlane, or ConstructionPoint. matchShape : Indicates if the hole is not contained on the face that the hole should match - the shape of the entity as if it extended beyond it's current boundaries. + the shape of the entity as if it extended beyond its current boundaries. directionHint : Specifies the direction of the hole. This is only used in the case where there are two possible solutions and the hole can hit the toEntity in either direction. @@ -9597,6 +16270,46 @@ def setPositionBySketchPoints(self, sketchPoints: core.ObjectCollection) -> bool opposite the normal of the sketch. The points can be from multiple sketches but they must all be co-planar. Returns true if successful. + """ + return bool() + def setToSimpleHole(self) -> bool: + """ + This property sets the hole's tap to be "simple", which means that it will not have + any tap and will be a simple hole. When a new input is created, it defaults to being + a simple hole. + Returns true if successful. + """ + return bool() + def setToClearanceHole(self, clearanceHoleInfo: ClearanceHoleInfo) -> bool: + """ + Sets the hole to be a clearance hole of the size specified by the ClearanceHoleInfo object. + clearanceHoleInfo : The ClearanceHoleInfo object that specifies the size of the clearance hole. + Returns true if setting to a clearance hole was successful. + """ + return bool() + def setToTappedHole(self, threadInfo: ThreadInfo) -> bool: + """ + Sets the hole to be a straight or tapered tapped hole of the size specified by the ThreadInfo object. + threadInfo : The ThreadInfo object that specifies the thread to use for the tapped hole. Whether it is straight + or tapered tap is defined by the input ThreadInfo object. + Returns true if setting to a tapped hole was successful. + """ + return bool() + def setLengthAndOffset(self, length: core.ValueInput, offset: core.ValueInput) -> bool: + """ + Sets the length and offset of the thread of a tapped hole. + + This method is only used when creating a tapped hole, which + means the setToTappedHole method has been called. Otherwise calling this + method will fail. + + By default the isFullLength property is true which means the thread is + the full length of the hole and there is no offset. Calling this method will have + the side effect of setting the isFullLength property to false. + length : Sets the length of the thread. + offset : Sets the offset of the thread from the start of the hole. A value of zero is valid + for no offset. + """ return bool() @property @@ -9695,6 +16408,79 @@ def participantBodies(self, value: list[BRepBody]): possible intersecting bodies can be computed. """ pass + @property + def holeTapType(self) -> HoleTapTypes: + """ + Returns the current type of tap associated with this hole. When a new HoleFeatureInput + is created, this will default to SimpleHoleTapType, which means the hole will not have + any tap and will be a simple hole. You can set the tap type by using one of the methods + to define the specific tap desired. + """ + return HoleTapTypes() + @property + def isModeled(self) -> bool: + """ + Gets and sets if the thread is physical or cosmetic thread. A value of + true indicates a physical thread. It defaults to false. + + This property is only used when creating a tapped hole, which + means the setToTappedHole method has been called. Otherwise this + property is ignored. + """ + return bool() + @isModeled.setter + def isModeled(self, value: bool): + """ + Gets and sets if the thread is physical or cosmetic thread. A value of + true indicates a physical thread. It defaults to false. + + This property is only used when creating a tapped hole, which + means the setToTappedHole method has been called. Otherwise this + property is ignored. + """ + pass + @property + def isFullLength(self) -> bool: + """ + Gets and sets if this thread is the full length of the hole. It defaults to true. + + This property is only used when creating a tapped hole, which + means the setToTappedHole method has been called. Otherwise this + property is ignored. + + The property can only be set to True, which will cause the feature to ignore the + values of the threadLength and threadOffset properties. Using the setLengthAndOffset + method will have the side effect of setting this property to false. + """ + return bool() + @isFullLength.setter + def isFullLength(self, value: bool): + """ + Gets and sets if this thread is the full length of the hole. It defaults to true. + + This property is only used when creating a tapped hole, which + means the setToTappedHole method has been called. Otherwise this + property is ignored. + + The property can only be set to True, which will cause the feature to ignore the + values of the threadLength and threadOffset properties. Using the setLengthAndOffset + method will have the side effect of setting this property to false. + """ + pass + @property + def threadLength(self) -> core.ValueInput: + """ + Gets the thread length when the isFullLength property is False. Returns null when the + isFullLength property is true. + """ + return core.ValueInput() + @property + def threadOffset(self) -> core.ValueInput: + """ + Gets the thread offset when the isFullLength property is False. Returns null when the + isFullLength property is true. + """ + return core.ValueInput() class HoleFeatures(core.Base): """ @@ -9706,6 +16492,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. @@ -9723,6 +16515,9 @@ def createSimpleInput(self, holeDiameter: core.ValueInput) -> HoleFeatureInput: a real, it is interpreted as centimeters. If it is a string, the units can be defined as part of the string (i.e. "3 in") If no units are specified, it is interpreted using the current default units for length. + + If tap information is added to the hole using the returned HoleFeatureInput, it will + override this diameter, and the hole will be the correct size for the specified tap. Returns the newly created HoleFeatureInput object or null if the creation failed. """ return HoleFeatureInput() @@ -9736,6 +16531,9 @@ def createCounterboreInput(self, holeDiameter: core.ValueInput, counterboreDiame a real, it is interpreted as centimeters. If it is a string, the units can be defined as part of the string (i.e. "3 in") If no units are specified, it is interpreted using the current default units for length. + + If tap information is added to the hole using the returned HoleFeatureInput, it will + override this diameter, and the hole will be the correct size for the specified tap. counterboreDiameter : A ValueInput object that defines the counterbore diameter of the hole. If the ValueInput uses a real, it is interpreted as centimeters. If it is a string, the units can be defined as part of the string (i.e. "3 in") If no units are specified, @@ -9756,6 +16554,9 @@ def createCountersinkInput(self, holeDiameter: core.ValueInput, countersinkDiame a real, it is interpreted as centimeters. If it is a string, the units can be defined as part of the string (i.e. "3 in") If no units are specified, it is interpreted using the current default units for length. + + If tap information is added to the hole using the returned HoleFeatureInput, it will + override this diameter, and the hole will be the correct size for the specified tap. countersinkDiameter : A ValueInput object that defines the diameter of the countersink. If the ValueInput uses a real, it is interpreted as centimeters. If it is a string, the units can be defined as part of the string (i.e. "3 in") If no units are specified, @@ -9802,6 +16603,170 @@ 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 InferredJointInput(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Defines all of the information required to create a new inferred joint. This object provides equivalent + functionality to the Joint command dialog, gathering the required information to create an inferred joint. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> InferredJointInput: + return InferredJointInput() + @property + def geometricRelationships(self) -> GeometricRelationships: + """ + Returns the collection object used to define the geometric relationships from which the joint will be inferred. + A geometric relationship defines several things: the pair of entities, if the relationship is flipped, + if it defines a mating alignment or an angle, and the value of the offset or angle. + """ + return GeometricRelationships() + class InterferenceInput(core.Base): """ Used to gather and define the various inputs and settings needed to calculate interference. This @@ -9898,6 +16863,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 +16894,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. @@ -9942,15 +16951,19 @@ def setAsRigidJointMotion(self) -> bool: """ Redefines the relationship between the two joint geometries as a rigid joint. + This method will fail in the case where the jointType property returns InferredJointType. + To use this method, you need to position the timeline marker to immediately before this joint. This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) 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. + This method will fail in the case where the jointType property returns InferredJointType. + To use this method, you need to position the timeline marker to immediately before this joint. This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) rotationAxis : Specifies which axis the rotation is around. If this is set to CustomJointDirection then the @@ -9961,10 +16974,12 @@ 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. + This method will fail in the case where the jointType property returns InferredJointType. + To use this method, you need to position the timeline marker to immediately before this joint. This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) sliderDirection : Specifies which axis the slide direction is along. If this is set to CustomJointDirection then the @@ -9974,10 +16989,12 @@ 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. + This method will fail in the case where the jointType property returns InferredJointType. + To use this method, you need to position the timeline marker to immediately before this joint. This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) rotationAxis : Specifies which axis the rotation is around. If this is set to CustomJointDirection then the @@ -9988,10 +17005,12 @@ 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. + This method will fail in the case where the jointType property returns InferredJointType. + To use this method, you need to position the timeline marker to immediately before this joint. This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) rotationAxis : Specifies which axis the rotation is around. If this is set to CustomJointDirection then the @@ -10005,10 +17024,12 @@ 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. + This method will fail in the case where the jointType property returns InferredJointType. + To use this method, you need to position the timeline marker to immediately before this joint. This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) normalDirection : Defines the direction of the normal of the single degree of rotation. @@ -10023,10 +17044,12 @@ 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. + This method will fail in the case where the jointType property returns InferredJointType. + To use this method, you need to position the timeline marker to immediately before this joint. This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) pitchDirection : Defines the direction the pitch angle is measured from. This can be ZAxisJointDirection or CustomJointDirection. If @@ -10072,6 +17095,9 @@ def geometryOrOriginOne(self) -> core.Base: """ Gets and sets the first JointGeometry or JointOrigin for this joint. + If the JointType is InferredJointType, this property will return null when queried and will + fail if it set. + To set this property, you need to position the timeline marker to immediately before this joint. This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) """ @@ -10081,6 +17107,9 @@ def geometryOrOriginOne(self, value: core.Base): """ Gets and sets the first JointGeometry or JointOrigin for this joint. + If the JointType is InferredJointType, this property will return null when queried and will + fail if it set. + To set this property, you need to position the timeline marker to immediately before this joint. This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) """ @@ -10090,6 +17119,9 @@ def geometryOrOriginTwo(self) -> core.Base: """ Gets and sets the second JointGeometry or JointOrigin for this joint. + If the JointType is InferredJointType, this property will return null when queried and will + fail if it set. + To set this property, you need to position the timeline marker to immediately before this joint. This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) """ @@ -10099,6 +17131,9 @@ def geometryOrOriginTwo(self, value: core.Base): """ Gets and sets the second JointGeometry or JointOrigin for this joint. + If the JointType is InferredJointType, this property will return null when queried and will + fail if it set. + To set this property, you need to position the timeline marker to immediately before this joint. This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) """ @@ -10108,6 +17143,8 @@ def angle(self) -> ModelParameter: """ Returns the parameter controlling the angle between the two input geometries. This is effectively the angle between the two primary axes of the two joint geometries. + + This property will return null in the case where the jointType property returns InferredJointType. """ return ModelParameter() @property @@ -10116,6 +17153,8 @@ def offset(self) -> ModelParameter: Returns the parameter controlling the offset between the two input geometries. This is effectively the offset distance between the two planes defined by the primary and secondary axes of the input geometries or the offset along the tertiary axis (z axis) of the joint. + + This property will return null in the case where the jointType property returns InferredJointType. """ return ModelParameter() @property @@ -10127,6 +17166,8 @@ def isFlipped(self) -> bool: To set this property, you need to position the timeline marker to immediately before this joint. This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) + + The value of this property should be ignored in the case where the jointType property returns InferredJointType. """ return bool() @isFlipped.setter @@ -10138,12 +17179,16 @@ def isFlipped(self, value: bool): To set this property, you need to position the timeline marker to immediately before this joint. This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) + + The value of this property should be ignored in the case where the jointType property returns InferredJointType. """ pass @property def jointMotion(self) -> JointMotion: """ Returns a JointMotion object that defines the motion relationship between the two geometries. + + This property will return null in the case where the jointType property returns InferredJointType. """ return JointMotion() @property @@ -10268,6 +17313,69 @@ 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. + + This property will return null in the case where the jointType property returns InferredJointType. + """ + 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. + + This property will return null in the case where the jointType property returns InferredJointType. + """ + return ModelParameter() + @property + def geometryOneTransform(self) -> core.Matrix3D: + """ + Returns the position and orientation of the joint geometry associated with the first occurrence. + This is returned as a 3D matrix which provides the origin and the X, Y, and Z axis vectors of the + coordinate system. + + This property is especially useful in cases where the JointGeometry cannot be obtained. This can + happen when the model has been modified in a way where the geometry used to create the joint is + no longer available. + + This property will return null in the case where the jointType property returns InferredJointType. + """ + return core.Matrix3D() + @property + def geometryTwoTransform(self) -> core.Matrix3D: + """ + Returns the position and orientation of the joint geometry associated with the second occurrence. + This is returned as a 3D matrix which provides the origin and the X, Y, and Z axis vectors of the + coordinate system. + + This property is especially useful in cases where the JointGeometry cannot be obtained. This can + happen when the model has been modified in a way where the geometry used to create the joint is + no longer available. + + This property will return null in the case where the jointType property returns InferredJointType. + """ + return core.Matrix3D() + @property + def geometricRelationships(self) -> GeometricRelationships: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns the set of geometric relationships that were used to infer this joint. This property is + only valid when the jointType property returns InferredJointType. Otherwise, it returns null. + """ + return GeometricRelationships() + @property + def motionLinks(self) -> list[MotionLink]: + """ + Returns the MotionLink objects that this joint is involved in. + """ + return [MotionLink()] class JointGeometry(core.Base): """ @@ -10294,7 +17402,7 @@ def createByPlanarFace(face: BRepFace, edge: BRepEdge, keyPointType: JointKeyPoi this can be StartKeyPoint, MiddleKeyPoint, or EndKeyPoint. For closed edges (i.e. circles), it must be CenterKeyPoint. When no edge is specified, it must be CenterKeyPoint indicating the center of area of the face is to be used. - Returns the transient JointGeometry object that can be used to create a joint or joint origin or null in case of a failure. + Returns the transient JointGeometry object that can be used to create a joint or joint origin or null in the case of a failure. """ return JointGeometry() @staticmethod @@ -10303,10 +17411,10 @@ def createByNonPlanarFace(face: BRepFace, keyPointType: JointKeyPointTypes) -> J Creates a new transient JointGeometry object based on a non-planar analytical BRepFace object. This is limited to cylinders, cones, spheres, and tori. A JointGeometry object can be used to create a joint or joint origin. face : The cylindrical, conical, spherical, or toroidal BRepFace object. - keyPointType : Specifies the position relative to the input face where joint keypoint will be located. For cylinders + keyPointType : Specifies the position relative to the input face where the joint keypoint will be located. For cylinders and cones this can be StartKeyPoint, MiddleKeyPoint, or EndKeyPoint. For spheres and tori this must be CenterKeyPoint. - Returns the transient JointGeometry object that can be used to create a joint or joint origin or null in case of a failure. + Returns the transient JointGeometry object that can be used to create a joint or joint origin or null in the case of a failure. """ return JointGeometry() @staticmethod @@ -10323,7 +17431,7 @@ def createByProfile(profile: Profile, sketchCurve: SketchCurve, keyPointType: Jo this can be StartKeyPoint, MiddleKeyPoint, or EndKeyPoint. For closed analytic (circles and ellipses), it must be CenterKeyPoint. When no curve is specified, it must be CenterKeyPoint indicating the center of area of the profile is to be used. - Returns the transient JointGeometry object that can be used to create a joint or joint origin or null in case of a failure. + Returns the transient JointGeometry object that can be used to create a joint or joint origin or null in the case of a failure. """ return JointGeometry() @staticmethod @@ -10336,7 +17444,7 @@ def createByCurve(curve: core.Base, keyPointType: JointKeyPointTypes) -> JointGe the valid types are StartKeyPoint, MiddleKeyPoint, CenterKeyPoint and EndKeyPoint. For circular and elliptical shaped curves the option is CenterKeyPoint. For closed spline curves either StartKeyPoint or EndKeyPoint can be used and the result is the same. - Returns the transient JointGeometry object that can be used to create a joint or joint origin or null in case of a failure. + Returns the transient JointGeometry object that can be used to create a joint or joint origin or null in the case of a failure. """ return JointGeometry() @staticmethod @@ -10345,7 +17453,7 @@ def createByPoint(point: core.Base) -> JointGeometry: Creates a new transient JointGeometry object using a ConstructionPoint, SketchPoint or BRepVertex as input. A JointGeometry object can be used to create a joint or joint origin. point : The ConstructionPoint, SketchPoint or BRepVertex object. - Returns the transient JointGeometry object that can be used to create a joint or joint origin or null in case of a failure. + Returns the transient JointGeometry object that can be used to create a joint or joint origin or null in the case of a failure. """ return JointGeometry() @staticmethod @@ -10379,7 +17487,87 @@ def createByBetweenTwoPlanes(planeOne: core.Base, planeTwo: core.Base, entityOne of the profile. If the geometry argument is a profile and the edgeOrCurve argument is an open sketch curve on the profile then this can be StartKeyPoint, MiddleKeyPoint, or EndKeyPoint. If the geometry argument is a profile and the edgeOrCurve argument is a closed sketch curve (i.e. circles), it must be CenterKeyPoint. - Returns the transient JointGeometry object that can be used to create a joint or joint origin or null in case of a failure. + Returns the transient JointGeometry object that can be used to create a joint or joint origin or null in the 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 the case of a failure. + """ + return JointGeometry() + @staticmethod + def createByCylinderOrConeFace(face: BRepFace, angle: JointQuadrantAngleTypes, height: JointKeyPointTypes) -> JointGeometry: + """ + Creates a new transient JointGeometry object based on a cylinder or cone BRepFace object. + face : The cylindrical or conical BRepFace object. + angle : Specifies the angle relative to the parameterization of the input face. The zero, or start angle, is where the v parameter of the + cylinder is zero. This can be determined by using the getPointAtParameter method of the SurfaceEvaluator object obtained from the + evaluator property of the BRepFace object. The possible values can be StartJointQuadrantAngleType, QuarterJointQuadrantAngleType, + MiddleJointQuadrantAngleType or ThirdQuarterJointQuadrantAngleType. + height : Specifies the vertical position relative to the bottom of the cylinder at the given angle. The possible values can be StartKeyPoint, + MiddleKeyPoint or EndKeyPoint. + Returns the transient JointGeometry object that can be used to create a joint or joint origin or null in the case of a failure. + """ + return JointGeometry() + @staticmethod + def createBySphereFace(face: BRepFace, azimuthAngle: JointQuadrantAngleTypes, polarAngle: JointKeyPointTypes) -> JointGeometry: + """ + Creates a new transient JointGeometry object based on a sphere BRepFace object. + face : The sphere BRepFace object. + azimuthAngle : Specifies the azimuth angle relative to the v parameterization of the input face. The zero, or start angle, is where the v parameter + of the sphere is zero. This can be determined by using the getPointAtParameter method of the SurfaceEvaluator object obtained from + the evaluator property of the BRepFace object. The possible values can be StartJointQuadrantAngleType, QuarterJointQuadrantAngleType, + MiddleJointQuadrantAngleType or ThirdQuarterJointQuadrantAngleType. + polarAngle : Specifies the polar angle relative to the u parameterization of the input face. The zero, or start angle, is where the u parameter + of the sphere is zero. This can be determined by using the getPointAtParameter method of the SurfaceEvaluator object obtained from + the evaluator property of the BRepFace object. The possible values can be StartKeyPoint for the north pole, MiddleKeyPoint for + points on the equator, or EndKeyPoint for the south pole. + Returns the transient JointGeometry object that can be used to create a joint or joint origin or null in the case of a failure. + """ + return JointGeometry() + @staticmethod + def createByTorusFace(face: BRepFace, azimuthAngle: JointQuadrantAngleTypes, sectionAngle: JointQuadrantAngleTypes) -> JointGeometry: + """ + Creates a new transient JointGeometry object based on a torus BRepFace object. + face : The torus BRepFace object. + azimuthAngle : Specifies the azimuth angle relative to the v parameterization of the input face. The zero, or start angle, is where the v parameter + of the sphere is zero. This can be determined by using the getPointAtParameter method of the SurfaceEvaluator object obtained from + the evaluator property of the BRepFace object. The possible values can be StartJointQuadrantAngleType, QuarterJointQuadrantAngleType, + MiddleJointQuadrantAngleType or ThirdQuarterJointQuadrantAngleType. + sectionAngle : Specifies the angle relative to the start point of the section circle at give azimuth angle. The possible values can be + StartJointQuadrantAngleType, QuarterJointQuadrantAngleType, MiddleJointQuadrantAngleType or ThirdQuarterJointQuadrantAngleType. + Returns the transient JointGeometry object that can be used to create a joint or joint origin or null in the case of a failure. + """ + return JointGeometry() + @staticmethod + def createBySplineFace(face: BRepFace, paramU: JointKeyPointTypes, paramV: JointKeyPointTypes) -> JointGeometry: + """ + Creates a new transient JointGeometry object based on a spline BRepFace object. + face : The spline BRepFace object. + paramU : Specifies the u parameter of the input spline face where the joint keypoint will be located. The possible values + can be StartKeyPoint, MiddleKeyPoint or EndKeyPoint. + paramV : Specifies the v parameter of the input spline face where the joint keypoint will be located. The possible values + can be StartKeyPoint, MiddleKeyPoint or EndKeyPoint. + Returns the transient JointGeometry object that can be used to create a joint or joint origin or null in the case of a failure. + """ + return JointGeometry() + @staticmethod + def createByTangentFaceEdge(face: BRepFace, edge: BRepEdge, edgePointType: JointTangentFaceEdgePointTypes) -> JointGeometry: + """ + Creates a new transient JointGeometry object based on a BRepFace object as well as a BRepEdge object which is on the BRepFace. + face : The cylindrical, conical, spherical, toroidal or spline BRepFace object. + edge : A BRepEdge object that is one of the edges on the selected face. + edgePointType : Specifies the position along the edge where the joint keypoint will be located. The possible values depend on whether the + edge is closed or not. For closed edge, the possible values can be StartJointTangentFaceEdgePointType, + QuarterJointTangentFaceEdgePointType, MiddleJointTangentFaceEdgePointType or ThirdQuarterJointTangentFaceEdgePointType. + For open edge, the possible values can be StartJointTangentFaceEdgePointType, MiddleJointTangentFaceEdgePointType, + or EndJointTangentFaceEdgePointType. + Returns the transient JointGeometry object that can be used to create a joint or joint origin or null in the case of a failure. """ return JointGeometry() @property @@ -10420,21 +17608,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 @@ -10449,6 +17637,24 @@ def planeTwo(self) -> core.Base: Returns the second plane for joint geometry that is defined between two planes. Returns null in all other cases. """ return core.Base() + @property + def tangentFaceType(self) -> JointTangentFaceTypes: + """ + Returns the tangent face type this JointGeometry is using. + """ + return JointTangentFaceTypes() + @property + def tangentFaceParamOne(self) -> float: + """ + Returns the first tangent face parameter. + """ + return float() + @property + def tangentFaceParamTwo(self) -> float: + """ + Returns the second tangent face parameter. + """ + return float() class JointInput(core.Base): """ @@ -10467,7 +17673,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 +17684,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 +17694,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 +17705,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 +17719,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 +17734,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 +17946,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 +18141,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 +18203,38 @@ 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 + @property + def transform(self) -> core.Matrix3D: + """ + Returns the position and orientation of the joint geometry associated with this joint origin. + This is returned as a 3D matrix which provides the origin and the X, Y, and Z axis vectors of the + coordinate system. + + This property is especially useful in cases where the JointGeometry cannot be obtained. This can + happen when the model has been modified in a way where the geometry used to create the joint is + no longer available. + """ + return core.Matrix3D() class JointOriginInput(core.Base): """ @@ -11121,21 +18368,66 @@ 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 + def globalOrientParamOne(self) -> core.ValueInput: + """ + Gets and sets the value that defines the first global orient parameter for the joint origin. + This defaults to zero if it's not specified. + For Cylineder or cone, it represents the angle around the center axis. + For Sphere and Torus, it represents the angle around the center axis. + For Spline, it represents the U parameter. + """ + return core.ValueInput() + @globalOrientParamOne.setter + def globalOrientParamOne(self, value: core.ValueInput): + """ + Gets and sets the value that defines the first global orient parameter for the joint origin. + This defaults to zero if it's not specified. + For Cylineder or cone, it represents the angle around the center axis. + For Sphere and Torus, it represents the angle around the center axis. + For Spline, it represents the U parameter. + """ + pass + @property + def globalOrientParamTwo(self) -> core.ValueInput: + """ + Gets and sets the value that defines the second global orient parameter for the joint origin. + This defaults to zero if it's not specified. + For Cylinder or cone, it is not used. + For Sphere, it represents the polar angle, which is the angle between the radius line and the equator plane. + For Torus, it represents the angle around the center of the section circle. + For Spline, it represents the V parameter. + """ + return core.ValueInput() + @globalOrientParamTwo.setter + def globalOrientParamTwo(self, value: core.ValueInput): + """ + Gets and sets the value that defines the second global orient parameter for the joint origin. + This defaults to zero if it's not specified. + For Cylinder or cone, it is not used. + For Sphere, it represents the polar angle, which is the angle between the radius line and the equator plane. + For Torus, it represents the angle around the center of the section circle. + For Spline, it represents the V parameter. + """ + pass class JointOriginList(core.Base): """ @@ -11146,6 +18438,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 +18475,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 +18531,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. @@ -11264,6 +18574,30 @@ def itemByName(self, name: str) -> Joint: Returns the specified item or null if an invalid name was specified. """ return Joint() + def createInferredJointInput(self) -> InferredJointInput: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Creates a joint input to define an inferred joint. Use functionality on + the returned InferredJointInput to define the input needed to infer a joint. + Returns an InferredJointInput. + """ + return InferredJointInput() + def addInferredJoint(self, input: InferredJointInput) -> Joint: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Creates a new inferred joint. + input : The InferredJointInput object that defines the pairs of geometry and other settings + that Fusion will use to infer a joint from. + An InferredJointInput object is created using the Joints.createInferredJointInput method. + Returns the newly created Joint or fails if there is bad input. + """ + return Joint() @property def count(self) -> int: """ @@ -11311,6 +18645,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 +18683,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. @@ -11535,6 +18899,30 @@ def isTangentEdgesMerged(self, value: bool): edge no longer exists """ pass + @property + def startLoftEdgeAlignment(self) -> LoftEdgeAlignments: + """ + Specifies the start edge alignment option for the loft feature. The default is Free Edges. + """ + return LoftEdgeAlignments() + @startLoftEdgeAlignment.setter + def startLoftEdgeAlignment(self, value: LoftEdgeAlignments): + """ + Specifies the start edge alignment option for the loft feature. The default is Free Edges. + """ + pass + @property + def endLoftEdgeAlignment(self) -> LoftEdgeAlignments: + """ + Specifies the end edge alignment option for the loft feature. The default is Free Edges. + """ + return LoftEdgeAlignments() + @endLoftEdgeAlignment.setter + def endLoftEdgeAlignment(self, value: LoftEdgeAlignments): + """ + Specifies the end edge alignment option for the loft feature. The default is Free Edges. + """ + pass class LoftFeatures(core.Base): """ @@ -11545,6 +18933,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 +19021,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 +19141,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 @@ -11775,6 +19175,100 @@ def count(self) -> int: """ return int() +class MergeFacesFeatureInput(core.Base): + """ + This class defines the methods and properties that pertain to the definition of a merge + face feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MergeFacesFeatureInput: + return MergeFacesFeatureInput() + @property + def inputFaces(self) -> list[BRepFace]: + """ + Gets and sets an array of BRepFace objects that define the faces the merge will be performed on. + The faces need to be connected and from the same body (solid or surface). + """ + return [BRepFace()] + @inputFaces.setter + def inputFaces(self, value: list[BRepFace]): + """ + Gets and sets an array of BRepFace objects that define the faces the merge will be performed on. + The faces need to be connected and from the same body (solid or surface). + """ + pass + @property + def isChainSelection(self) -> bool: + """ + Get and sets whether or not faces that are tangentially connected and from the same body + (solid or surface) will be included in the faces to merge + """ + return bool() + @isChainSelection.setter + def isChainSelection(self, value: bool): + """ + Get and sets whether or not faces that are tangentially connected and from the same body + (solid or surface) will be included in the faces to merge + """ + pass + @property + def creationOccurrence(self) -> Occurrence: + """ + In order for geometry to be transformed correctly, an Occurrence for creation needs to be + specified when the Merge is created based on geometry (e.g. faces) + in another component AND (Merge) 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 Merge is created based on geometry (e.g. faces) + in another component AND (Merge) is not in the root component. + The CreationOccurrence is analogous to the active occurrence in the UI + """ + pass + +class MergeFacesFeatures(core.Base): + """ + A collection object that supports the ability to merge faces. Merging faces is currently + limited to a Direct Modeling design or a body in a base feature. The result of merging faces + is a direct B-Rep modification, and the change is not represented as a feature in the browser. + As a result, a MergeFacesFeature object does not exist, and this collection only supports the + merging faces and not accessing any existing features. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MergeFacesFeatures: + return MergeFacesFeatures() + def createInput(self, inputFaces: list[BRepFace], isChainSelection: bool = False) -> MergeFacesFeatureInput: + """ + Creates a MergeFacesFeatureInput object for defining a simple merge face feature. + Use properties and methods on this object to define the merge you want to create and then use the Add method, + passing in the MergeFacesFeatureInput object. + inputFaces : An array of BRepFace objects that define the faces the merge will be performed on. + The faces need to be connected and from the same body (solid or surface). + isChainSelection : A boolean value for setting whether or not faces that are connected and from the same body + (solid or surface) will be included in the faces to merge. The default value is false. + Returns the newly created MergeFacesFeatureInput object or null if the creation failed. + """ + return MergeFacesFeatureInput() + def add(self, input: MergeFacesFeatureInput) -> bool: + """ + Creates a new merge face feature. + input : A MergeFacesFeatureInput object that defines the desired merge. Use the createInput + method to create a new MergeFacesFeatureInput object and then use methods on it + (the MergeFacesFeatureInput object) to define the merge. + Returns true if successful. Because this is limited to direct modeling only that directly + modifies the B-Rep body and does not create a MergeFacesFeature object there is nothing to + return besides if the merge was successful or no. + """ + return bool() + class MeshBodies(core.Base): """ Provides access to the MeshBodies in the parent Component and @@ -11785,7 +19279,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. @@ -11796,8 +19296,7 @@ def add(self, fullFilename: str, units: MeshUnits, baseOrFormFeature: core.Base) fullFilename : The full filename (path and file) of a STL, OBJ or 3MF file. units : The units to use when importing the file. baseOrFormFeature : The BaseFeature or FormFeature object that this mesh body will be associated with. This is an optional - requirement and is required when the model design history is being captured (parametric model) but is - ignored otherwise (direct edit model). + requirement. It is required in a parametric modeling design but is ignored in a direct modeling design. Returns a list of the newly created mesh bodies or null if the creation failed. Multiple bodies can be created in the case where a .obj file that contains multiple bodies was imported. STL files always contain a single body. @@ -11819,7 +19318,7 @@ def addByTriangleMeshData(self, coordinates: list[float], coordinateIndexList: l array is provided, then it's assumed that the first three coordinates defines the first triangle, the next three define the second triangle, and so on. normalVectors : An array of doubles that represent the x, y, z components of the normals at each coordinate. There should be a normal defined - for each coordinate. If an empty array is provided for the normal vectors, Fusion 360 will automatically calculate normal vectors + for each coordinate. If an empty array is provided for the normal vectors, Fusion will automatically calculate normal vectors that are 90 degrees to the face of the triangle, making it appear flat. normalIndexList : An array of integers that represent indices into the normal vectors to define the which vector corresponds to which vertex. This should be the same size as the vertex index list. If an empty array is input and normal vectors are provided, it is assumed that @@ -11859,6 +19358,80 @@ def createForAssemblyContext(self, occurrence: Occurrence) -> MeshBody: Returns the proxy for the occurrence in the context of the specified occurrence. Returns null if it failed. """ return MeshBody() + def createComponent(self) -> MeshBody: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Creates a new component and occurrence within the component that currently owns this body. + This body is moved into the new component and returned. The newly created component can be + obtained by using the parentComponent property of the MeshBody object. + Returns the MeshBody in the new component or null in the case the creation failed. + """ + return MeshBody() + def findByTempId(self, tempId: int) -> core.Base: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns the face group with the temporary id. + tempId : The ID of the face group to find. + Returns the face group with the given tempId. + """ + return core.Base() + def copy(self) -> bool: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Copies the mesh body to the clipboard. + Returns true if the copy was successful. + """ + return bool() + def cut(self) -> bool: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Cuts the mesh body to the clipboard. + Returns true if the cut was successful. + """ + return bool() + def moveToComponent(self, target: core.Base) -> MeshBody: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Moves this mesh body from it's current component into the root component or the component owned by the + specified occurrence. + target : The target can be either the root component or an occurrence. + + In the case where an occurrence is specified, the mesh body will be moved into the parent component of the target + occurrence and the target occurrence defines the transform of how the mesh body will be copied so that the body + maintains it's same position with respect to the assembly. + Returns the moved mesh body or null in the case the move failed. + """ + return MeshBody() + def copyToComponent(self, target: core.Base) -> MeshBody: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Creates a copy of this mesh body into the specified target. + target : The target can be either the root component or an occurrence. + + In the case where an occurrence is specified, the mesh body will be copied into the parent component of the target + occurrence and the target occurrence defines the transform of how the mesh body will be copied so that the body + maintains it's same position with respect to the assembly. + Returns the moved mesh body or null in the case the move failed. + """ + return MeshBody() @property def name(self) -> str: """ @@ -11947,7 +19520,7 @@ def nativeObject(self) -> MeshBody: def baseOrFormFeature(self) -> core.Base: """ This property returns the base or form feature that this mesh body is associated with. It - returns null in the case where the modeling design history is not being captured (direct edit model). + returns null in a direct modeling design. """ return core.Base() @property @@ -12047,6 +19620,136 @@ 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() + @property + def area(self) -> float: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns the area in cm ^ 2. + """ + return float() + @property + def volume(self) -> float: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns the volume in cm ^ 3. Returns 0 in the case the mesh body is not closed. + """ + return float() + @property + def boundingBox(self) -> core.BoundingBox3D: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns the bounding box of this mesh body. + """ + return core.BoundingBox3D() + @property + def isClosed(self) -> bool: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Check to see if the mesh is closed - i.e. contains no edges with only + one triangle. Returns true if the mesh is closed, false if not. + """ + return bool() + @property + def isOriented(self) -> bool: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Check to see if the mesh is oriented - i.e. every edge has at most two + triangles, and those triangles have consistent orientations. + Returns true if the mesh is oriented, false if not. + """ + return bool() + @property + def faceGroups(self) -> FaceGroups: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns a collection of all of the face groups in the body. + """ + return FaceGroups() + @property + def orientedMinimumBoundingBox(self) -> core.OrientedBoundingBox3D: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns an oriented bounding box of the body that is best oriented to tightly fit the body. + """ + return core.OrientedBoundingBox3D() + @property + def displayOverrides(self) -> MeshBodyDisplayOverrides: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Gets the object that allows manipulation of overrides that control how the mesh is displayed in the interactive 3D view. + """ + return MeshBodyDisplayOverrides() + +class MeshBodyDisplayOverrides(core.Base): + """ + Container for overrides that control how the mesh is displayed in the interactive 3D view. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MeshBodyDisplayOverrides: + return MeshBodyDisplayOverrides() + @property + def isSuppressFaceGroupColors(self) -> bool: + """ + Controls whether the mesh body face group colors are shown. If set to true, the face + groups will be shown with the assigned appearance, ignoring the current display settings. + """ + return bool() + @isSuppressFaceGroupColors.setter + def isSuppressFaceGroupColors(self, value: bool): + """ + Controls whether the mesh body face group colors are shown. If set to true, the face + groups will be shown with the assigned appearance, ignoring the current display settings. + """ + pass + @property + def isSuppressTriangleEdges(self) -> bool: + """ + Controls whether the edges of the triangles of the mesh body are shown. If set to true, + individual triangles will not be visible, edges of face groups (if any) will be shown instead. + """ + return bool() + @isSuppressTriangleEdges.setter + def isSuppressTriangleEdges(self, value: bool): + """ + Controls whether the edges of the triangles of the mesh body are shown. If set to true, + individual triangles will not be visible, edges of face groups (if any) will be shown instead. + """ + pass class MeshBodyList(core.Base): """ @@ -12057,6 +19760,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. @@ -12071,86 +19780,195 @@ def count(self) -> int: """ return int() -class MeshManager(core.Base): +class MeshCombineFaceGroupsFeatureInput(core.Base): """ - Provides access to meshes that approximate a B-Rep and T-Spline. + !!!!! 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 mesh combine face groups + feature. """ def __init__(self): pass @staticmethod - def cast(arg) -> MeshManager: - return MeshManager() - def createMeshCalculator(self) -> TriangleMeshCalculator: + def cast(arg) -> MeshCombineFaceGroupsFeatureInput: + return MeshCombineFaceGroupsFeatureInput() + @property + def inputFaceGroups(self) -> list[FaceGroup]: """ - Creates a new MeshCalculator which is used to calculate - new triangular meshes based on various parameters that control the calculation. - Returns the new MeshCalculator object or null if the creation failed. + Gets and sets the input face groups, which should be combined. They need to belong to the same mesh body. """ - return TriangleMeshCalculator() + return [FaceGroup()] + @inputFaceGroups.setter + def inputFaceGroups(self, value: list[FaceGroup]): + """ + Gets and sets the input face groups, which should be combined. They need to belong to the same mesh body. + """ + pass @property - def displayMeshes(self) -> TriangleMeshList: + def targetBaseFeature(self) -> BaseFeature: """ - Returns a collection that provides access to all of the - existing display meshes. + 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 TriangleMeshList() + 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 MeshCombineFaceGroupsFeatures(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 mesh combine face groups features in a component + and supports the ability to create new mesh face group combine features. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MeshCombineFaceGroupsFeatures: + return MeshCombineFaceGroupsFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> MeshCombineFaceGroupsFeature: + return None + def __iter__(self) -> Iterator[MeshCombineFaceGroupsFeature]: + return None + def item(self, index: int) -> MeshCombineFaceGroupsFeature: + """ + Function that returns the specified mesh combine face groups 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 MeshCombineFaceGroupsFeature() + def createInput(self, inputFaceGroups: list[FaceGroup]) -> MeshCombineFaceGroupsFeatureInput: + """ + Creates a MeshCombineFaceGroupsFeatureInput object. Use properties and methods on this object + to define the mesh combine face groups feature you want to create and then use the add method, passing in + the MeshCombineFaceGroupsFeatureInput object. + inputFaceGroups : A array with face groups belonging to the same mesh. The mesh can be in either a parametric or direct modeling design. + Returns the newly created MeshCombineFaceGroupsFeatureInput object or null if the creation failed. + """ + return MeshCombineFaceGroupsFeatureInput() + def add(self, input: MeshCombineFaceGroupsFeatureInput) -> MeshCombineFaceGroupsFeature: + """ + Creates a mesh combine face groups feature. + input : A MeshCombineFaceGroupsFeatureInput object that defines the desired mesh combine face groups feature. Use the createInput + method to create a new MeshCombineFaceGroupsFeatureInput object and then use methods on it + (the MeshCombineFaceGroupsFeatureInput object) to define the mesh combine face groups feature. + Returns the newly created MeshCombineFaceGroupsFeatureInput object or null if the creation failed. + Returns nothing in the case where the feature is non-parametric. + """ + return MeshCombineFaceGroupsFeature() + def itemByName(self, name: str) -> MeshCombineFaceGroupsFeature: + """ + Function that returns the specified MeshCombineFaceGroups 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 MeshCombineFaceGroupsFeature() @property - def parent(self) -> core.Base: + def count(self) -> int: """ - Returns the parent BRepBody, BRepFace, BRepLump, BRepShell, SculptBody, or SculptFace object. + The number of mesh combine face groups features in the collection. """ - return core.Base() + return int() -class MirrorFeatureInput(core.Base): +class MeshCombineFeatureInput(core.Base): """ - This class defines the methods and properties that pertain to the definition of a mirror + !!!!! 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 mesh combine feature. """ def __init__(self): pass @staticmethod - def cast(arg) -> MirrorFeatureInput: - return MirrorFeatureInput() + def cast(arg) -> MeshCombineFeatureInput: + return MeshCombineFeatureInput() @property - def inputEntities(self) -> core.ObjectCollection: + def targetBody(self) -> MeshBody: """ - Gets and sets the entities that are mirrored. It can contain faces, features, bodies, or components. - The input must all be of a single type. For example, you can't provide a body and a component but - the collection must be either all bodies or all components. + Gets and sets the input targetBody. """ - return core.ObjectCollection() - @inputEntities.setter - def inputEntities(self, value: core.ObjectCollection): + return MeshBody() + @targetBody.setter + def targetBody(self, value: MeshBody): """ - Gets and sets the entities that are mirrored. It can contain faces, features, bodies, or components. - The input must all be of a single type. For example, you can't provide a body and a component but - the collection must be either all bodies or all components. + Gets and sets the input targetBody. """ pass @property - def mirrorPlane(self) -> core.Base: + def toolBodies(self) -> list[MeshBody]: """ - Gets and sets the mirror plane. This can be either a planar face or construction plane. + Gets and sets the MeshBody objects that represent the tool bodies. """ - return core.Base() - @mirrorPlane.setter - def mirrorPlane(self, value: core.Base): + return [MeshBody()] + @toolBodies.setter + def toolBodies(self, value: list[MeshBody]): """ - Gets and sets the mirror plane. This can be either a planar face or construction plane. + Gets and sets the MeshBody objects that represent the tool bodies. """ pass @property - def patternComputeOption(self) -> PatternComputeOptions: + def meshCombineOperationType(self) -> MeshCombineOperationTypes: """ - Gets and sets the compute option when mirroring features. The default value for this is AdjustPatternCompute. - This property only applies when mirroring features and is ignored in the direct modeling environment. + Gets and sets the operation type of mesh combine, default value is JoinMeshCombineType. """ - return PatternComputeOptions() - @patternComputeOption.setter - def patternComputeOption(self, value: PatternComputeOptions): + return MeshCombineOperationTypes() + @meshCombineOperationType.setter + def meshCombineOperationType(self, value: MeshCombineOperationTypes): """ - Gets and sets the compute option when mirroring features. The default value for this is AdjustPatternCompute. - This property only applies when mirroring features and is ignored in the direct modeling environment. + Gets and sets the operation type of mesh combine, default value is JoinMeshCombineType. + """ + pass + @property + def isNewComponent(self) -> bool: + """ + Creates a new component to contain combined mesh bodies. + Default value is false. + """ + return bool() + @isNewComponent.setter + def isNewComponent(self, value: bool): + """ + Creates a new component to contain combined mesh bodies. + Default value is false. + """ + pass + @property + def isKeepToolBodies(self) -> bool: + """ + Preserves a copy of each tool body. + Default value is false. + """ + return bool() + @isKeepToolBodies.setter + def isKeepToolBodies(self, value: bool): + """ + Preserves a copy of each tool body. + Default value is false. """ pass @property @@ -12179,170 +19997,162 @@ 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 isCombine(self) -> bool: - """ - Gets and sets whether the mirrored bodies should be combined with the original bodies. - When true, the mirrored geometry will be Boolean unioned with the original solid or surface body(s) - when they connect within the stitch tolerance defined with the stitchTolerance property. If the bodies - cannot be unioned or stitched the result will be separate bodies. - If any input object is not a body, then this setting is ignored. - Default is false. - """ - return bool() - @isCombine.setter - def isCombine(self, value: bool): - """ - Gets and sets whether the mirrored bodies should be combined with the original bodies. - When true, the mirrored geometry will be Boolean unioned with the original solid or surface body(s) - when they connect within the stitch tolerance defined with the stitchTolerance property. If the bodies - cannot be unioned or stitched the result will be separate bodies. - If any input object is not a body, then this setting is ignored. - Default is false. - """ - pass - @property - def stitchTolerance(self) -> core.ValueInput: - """ - Gets and sets the ValueInput object that defines the Stitching Tolerance (length) - to use when doing a mirror and combine for surface bodies. - """ - return core.ValueInput() - @stitchTolerance.setter - def stitchTolerance(self, value: core.ValueInput): - """ - Gets and sets the ValueInput object that defines the Stitching Tolerance (length) - to use when doing a mirror and combine for surface bodies. - """ - pass -class MirrorFeatures(core.Base): +class MeshCombineFeatures(core.Base): """ - Collection that provides access to all of the existing mirror features in a component - and supports the ability to create new mirror features. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Collection that provides access to all of the existing mesh combine features in a component + and supports the ability to create new mesh Combine features. """ def __init__(self): pass @staticmethod - def cast(arg) -> MirrorFeatures: - return MirrorFeatures() - def item(self, index: int) -> MirrorFeature: + def cast(arg) -> MeshCombineFeatures: + return MeshCombineFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> MeshCombineFeature: + return None + def __iter__(self) -> Iterator[MeshCombineFeature]: + return None + def item(self, index: int) -> MeshCombineFeature: """ - Function that returns the specified mirror feature using an index into the collection. + Function that returns the specified mesh combine 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 MirrorFeature() - def createInput(self, inputEntities: core.ObjectCollection, mirrorPlane: core.Base) -> MirrorFeatureInput: + return MeshCombineFeature() + def createInput(self, targetBody: MeshBody, toolBodies: list[MeshBody]) -> MeshCombineFeatureInput: """ - Creates a MirrorFeatureInput object. Use properties and methods on this object - to define the mirror you want to create and then use the Add method, passing in - the MirrorFeatureInput object. - inputEntities : A collection of the entities to mirror. It can contain faces, features, bodies, or components. - The input must all be of a single type. For example, you can't provide a body and a component but - the collection must be either all bodies or all components. - mirrorPlane : Input planar entity that defines the mirror plane. This can be either a planar face or a construction plane. - Returns the newly created MirrorFeatureInput object or null if the creation failed. + Creates a MeshCombineFeatureInput object. Use properties and methods on this object + to define the mesh combine you want to create and then use the add method, passing in + the MeshCombineFeatureInput object. + targetBody : The MeshBody in either a parametric or direct modeling design, which represent the target body. + toolBodies : The MeshBodies in either a parametric or direct modeling design, which represent the tool bodies. + Returns the newly created MeshCombineFeatureInput object or null if the creation failed. """ - return MirrorFeatureInput() - def add(self, input: MirrorFeatureInput) -> MirrorFeature: + return MeshCombineFeatureInput() + def add(self, input: MeshCombineFeatureInput) -> MeshCombineFeature: """ - Creates a new mirror feature. - input : A MirrorFeatureInput object that defines the desired mirror. Use the createInput - method to create a new MirrorFeatureInput object and then use methods on it - (the MirrorFeatureInput object) to define the mirror. - Returns the newly created MirrorFeature object or null if the creation failed. + Creates a mesh combine feature. + input : A MeshCombineFeatureInput object that defines the desired combine feature. Use the createInput + method to create a new MeshCombineFeatureInput object and then use methods on it + (the MeshCombineFeatureInput object) to define the combine. + Returns the newly created MeshCombineFeatureInput object or null if the creation failed. + Returns nothing in the case where the feature is non-parametric. """ - return MirrorFeature() - def itemByName(self, name: str) -> MirrorFeature: + return MeshCombineFeature() + def itemByName(self, name: str) -> MeshCombineFeature: """ - Function that returns the specified mirror feature using the name of the feature. + Function that returns the specified MeshCombine 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 MirrorFeature() + return MeshCombineFeature() @property def count(self) -> int: """ - The number of mirror features in the collection. + The number of mesh combine features in the collection. """ return int() -class ModelParameters(core.Base): +class MeshConvertFeatureInput(core.Base): """ - Provides access to the Model Parameters within a component. + !!!!! 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 mesh convert + feature. """ def __init__(self): pass @staticmethod - def cast(arg) -> ModelParameters: - return ModelParameters() - def item(self, index: int) -> ModelParameter: + def cast(arg) -> MeshConvertFeatureInput: + return MeshConvertFeatureInput() + @property + def inputBodies(self) -> list[MeshBody]: """ - Function that returns the specified Model Parameter 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 the input meshes. """ - return ModelParameter() - def itemByName(self, name: str) -> ModelParameter: + return [MeshBody()] + @inputBodies.setter + def inputBodies(self, value: list[MeshBody]): """ - Function that returns the specified Model Parameter using the name of the parameter as it is - displayed in the parameters dialog. - name : The name of the Model Parameter as it is displayed in the parameters dialog - Returns the specified item or null if an invalid name was specified. + Gets and sets the input meshes. """ - return ModelParameter() + pass @property - def count(self) -> int: + def meshConvertMethodType(self) -> MeshConvertMethodTypes: """ - Returns the number of parameters in the collection. + Gets and sets the convert type of mesh convert, default value is FacetedMeshConvertMethodType. """ - return int() + return MeshConvertMethodTypes() + @meshConvertMethodType.setter + def meshConvertMethodType(self, value: MeshConvertMethodTypes): + """ + Gets and sets the convert type of mesh convert, default value is FacetedMeshConvertMethodType. + """ + pass @property - def component(self) -> Component: + def meshConvertResolutionType(self) -> MeshConvertResolutionTypes: """ - Returns the component that owns the Model Parameters collection + Gets and sets the resolution method of mesh convert, default value is ByAccuracyMeshConvertResolutionType. + Only valid if meshConvertMethodType is OrganicMeshConvertMethodType. + """ + return MeshConvertResolutionTypes() + @meshConvertResolutionType.setter + def meshConvertResolutionType(self, value: MeshConvertResolutionTypes): + """ + Gets and sets the resolution method of mesh convert, default value is ByAccuracyMeshConvertResolutionType. + Only valid if meshConvertMethodType is OrganicMeshConvertMethodType. """ - return Component() - -class MoveFeatureInput(core.Base): - """ - This class defines the methods and properties that pertain to the definition of a move feature. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> MoveFeatureInput: - return MoveFeatureInput() @property - def inputEntities(self) -> core.ObjectCollection: + def meshConvertAccuracyType(self) -> MeshConvertAccuracyTypes: """ - An ObjectCollection containing the objects to move. The collection can contain - BRepBody or BRepFace objects but not a mixture of the two types. + Gets and sets the accuracy of organic mesh convert, default value is MediumMeshConvertResolutionType. + Only valid if meshConvertResolutionType is ByAccuracyMeshConvertResolutionType. """ - return core.ObjectCollection() - @inputEntities.setter - def inputEntities(self, value: core.ObjectCollection): + return MeshConvertAccuracyTypes() + @meshConvertAccuracyType.setter + def meshConvertAccuracyType(self, value: MeshConvertAccuracyTypes): """ - An ObjectCollection containing the objects to move. The collection can contain - BRepBody or BRepFace objects but not a mixture of the two types. + Gets and sets the accuracy of organic mesh convert, default value is MediumMeshConvertResolutionType. + Only valid if meshConvertResolutionType is ByAccuracyMeshConvertResolutionType. """ pass @property - def transform(self) -> core.Matrix3D: + def numberOfFaces(self) -> core.ValueInput: """ - 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. + Specify the number of faces to generate for the converted body. + Only valid if meshConvertResolutionType is ByFacetNumberMeshConvertResolutionType. """ - return core.Matrix3D() - @transform.setter - def transform(self, value: core.Matrix3D): + return core.ValueInput() + @numberOfFaces.setter + def numberOfFaces(self, value: core.ValueInput): + """ + Specify the number of faces to generate for the converted body. + Only valid if meshConvertResolutionType is ByFacetNumberMeshConvertResolutionType. + """ + pass + @property + def isPreprocessHoles(self) -> bool: + """ + Smooths the boundaries of open holes in the mesh body. Improves the chance of successful conversion by + refining the shape of holes that will remain open. Default value is false. Only valid if meshConvertMethodType is + OrganicMeshConvertType. + """ + return bool() + @isPreprocessHoles.setter + def isPreprocessHoles(self, value: bool): """ - 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. + Smooths the boundaries of open holes in the mesh body. Improves the chance of successful conversion by + refining the shape of holes that will remain open. Default value is false. Only valid if meshConvertMethodType is + OrganicMeshConvertType. """ pass @property @@ -12371,586 +20181,845 @@ 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 meshConvertOperationType(self) -> MeshConvertOperationTypes: + """ + Gets and sets the operation type of mesh convert, default value is ParametricFeatureMeshConvertOperationType. + """ + return MeshConvertOperationTypes() + @meshConvertOperationType.setter + def meshConvertOperationType(self, value: MeshConvertOperationTypes): + """ + Gets and sets the operation type of mesh convert, default value is ParametricFeatureMeshConvertOperationType. + """ + pass -class MoveFeatures(core.Base): +class MeshConvertFeatures(core.Base): """ - Collection that provides access to all of the existing move features in a component - and supports the ability to create new move features. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Collection that provides access to all of the existing mesh convert features in a component + and supports the ability to create new mesh Convert features. """ def __init__(self): pass @staticmethod - def cast(arg) -> MoveFeatures: - return MoveFeatures() - def item(self, index: int) -> MoveFeature: + def cast(arg) -> MeshConvertFeatures: + return MeshConvertFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> MeshConvertFeature: + return None + def __iter__(self) -> Iterator[MeshConvertFeature]: + return None + def item(self, index: int) -> MeshConvertFeature: """ - Function that returns the specified move feature using an index into the collection. + Function that returns the specified mesh convert 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 MoveFeature() - def createInput(self, inputEntities: core.ObjectCollection, transform: core.Matrix3D) -> MoveFeatureInput: + return MeshConvertFeature() + def createInput(self, inputBodies: list[MeshBody]) -> MeshConvertFeatureInput: """ - 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. + Creates a MeshConvertFeatureInput object. Use properties and methods on this object + to define the mesh convert you want to create and then use the add method, passing in + the MeshConvertFeatureInput object. + inputBodies : A array with mesh bodies in either a parametric or direct modeling design. + Returns the newly created MeshConvertFeatureInput object or null if the creation failed. """ - return MoveFeatureInput() - def add(self, input: MoveFeatureInput) -> MoveFeature: + return MeshConvertFeatureInput() + def add(self, input: MeshConvertFeatureInput) -> MeshConvertFeature: """ - Creates a new move feature. - input : A MoveFeatureInput object that defines the desired move feature. Use the createInput2 - method to create a new MoveFeatureInput object and then use methods on the MoveFeatureInput - object to define the move feature. - Returns the newly created MoveFeature object or null if the creation failed. - Returns nothing in the case where the feature is non-parametric. + Creates a mesh convert feature. + input : A MeshConvertFeatureInput object that defines the desired convert feature. Use the createInput + method to create a new MeshConvertFeatureInput object and then use methods on it + (the MeshConvertFeatureInput object) to define the convert. + Returns the newly created MeshConvertFeatureInput object or null if the creation failed. + Returns null in the case where the feature is non-parametric. """ - return MoveFeature() - def itemByName(self, name: str) -> MoveFeature: + return MeshConvertFeature() + def itemByName(self, name: str) -> MeshConvertFeature: """ - Function that returns the specified move feature using the name of the feature. + Function that returns the specified MeshConvert 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 MoveFeature() + return MeshConvertFeature() @property def count(self) -> int: """ - The number of move features in the collection. + The number of mesh convert features in the collection. """ return int() -class Occurrence(core.Base): +class MeshGenerateFaceGroupsFeatureInput(core.Base): """ - Represents an occurrence of a component at any level within a subassembly. + !!!!! 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 mesh generate face groups + feature. """ def __init__(self): pass @staticmethod - def cast(arg) -> Occurrence: - return Occurrence() - def deleteMe(self) -> bool: + def cast(arg) -> MeshGenerateFaceGroupsFeatureInput: + return MeshGenerateFaceGroupsFeatureInput() + @property + def mesh(self) -> core.Base: """ - Deletes the occurrence from the design. If this is the last occurrence - referencing a specific Component, the component is also deleted. - Returns true if the delete was successful. + Gets and sets the input mesh body. """ - return bool() - def createForAssemblyContext(self, occurrence: Occurrence) -> Occurrence: + return core.Base() + @mesh.setter + def mesh(self, value: core.Base): """ - 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. - Fails if this object is not the NativeObject. - occurrence : The occurrence that represents the context you want to create this proxy in. - Returns the proxy for the occurrence in the context of the specified occurrence. - Returns null if it failed. + Gets and sets the input mesh body. """ - return Occurrence() - def activate(self) -> bool: + pass + @property + def meshGenerateFaceGroupsMethodType(self) -> MeshGenerateFaceGroupsMethodTypes: """ - Makes the occurrence 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. + Gets and sets the type of mesh generate face groups, default value is FastGenerateFaceGroupsType. """ - return bool() - def moveToComponent(self, targetOccurrence: Occurrence) -> Occurrence: + return MeshGenerateFaceGroupsMethodTypes() + @meshGenerateFaceGroupsMethodType.setter + def meshGenerateFaceGroupsMethodType(self, value: MeshGenerateFaceGroupsMethodTypes): """ - Moves this occurrence from it's current component into the component owned by the specified occurrence. - This occurrence and the target occurrence must be in the same context. - targetOccurrence : The target occurrence defines both the component and the transform to apply when moving the occurrence. The - occurrence will be copied into the parent component of the target occurrence and the target occurrence also defines - the transform of how the occurrence will be copied so that the occurrence maintains it's same position in model space. - Returns the moved Occurrence or null in the case the move failed. + Gets and sets the type of mesh generate face groups, default value is FastGenerateFaceGroupsType. """ - return Occurrence() - def getPhysicalProperties(self, accuracy: CalculationAccuracy) -> PhysicalProperties: + pass + @property + def angleThreshold(self) -> core.ValueInput: """ - Returns the PhysicalProperties object that has properties for getting the area, density, mass, volume, moments, etc - of this occurrence. - accuracy : Specifies the desired level of computational accuracy of the property calculations. - The default value of 'LowCalculationAccuracy' returns results within a +/- 1% error margin. - Returns a PhysicalProperties object that can be used to get the various physical property related values. + Controls the angle threshold during the face group generation. + The values can range between 0 and pi/2. The default value is 0.436. + Only valid if meshGenerateFaceGroupsMethodType is FastGenerateFaceGroupsType. """ - return PhysicalProperties() - def breakLink(self) -> bool: + return core.ValueInput() + @angleThreshold.setter + def angleThreshold(self, value: core.ValueInput): """ - When the component this occurrence references is an external reference (the isReferencedComponent property returns true), - this will break the link and create a local Component that this occurrence will reference. The new local Component can - be accessed through the Occurrence using the component property. - - This method will fail if the occurrence is not referencing an external component. - Returns true if the break link was successful. + Controls the angle threshold during the face group generation. + The values can range between 0 and pi/2. The default value is 0.436. + Only valid if meshGenerateFaceGroupsMethodType is FastGenerateFaceGroupsType. """ - return bool() + pass @property - def sourceComponent(self) -> Component: + def minimumFaceGroupSize(self) -> core.ValueInput: """ - This is the sourceComponent for the occurrence and is affected - by the assembly context. - This is the top-level component where the path begins. + Gets and sets the fraction of the overall mesh area + which determines the smallest face group. + The value can range between 0 and 1. The default value is 0.02. + Only valid if meshGenerateFaceGroupsMethodType is FastGenerateFaceGroupsType. """ - return Component() - @property - def childOccurrences(self) -> OccurrenceList: + return core.ValueInput() + @minimumFaceGroupSize.setter + def minimumFaceGroupSize(self, value: core.ValueInput): """ - Returns a read only list of child occurrences where only the occurrences - in this occurrence's AssemblyContext are returned . + Gets and sets the fraction of the overall mesh area + which determines the smallest face group. + The value can range between 0 and 1. The default value is 0.02. + Only valid if meshGenerateFaceGroupsMethodType is FastGenerateFaceGroupsType. """ - return OccurrenceList() + pass @property - def component(self) -> Component: + def boundaryTolerance(self) -> core.ValueInput: """ - The component this occurrence references. + Gets and sets tolerance to define face group. This value is used + during the fitting of the primitives. The values can range between + 0 and 0.01. The default value is 0.001. + Only valid if meshGenerateFaceGroupsMethodType is AccurateGenerateFaceGroupsType. """ - return Component() - @property - def name(self) -> str: + return core.ValueInput() + @boundaryTolerance.setter + def boundaryTolerance(self, value: core.ValueInput): """ - The name of the occurrence. This is the name as seen in the browser. It is a reflection - of the component name with an added counter suffix (i.e. 'OccurrenceName:1'). + Gets and sets tolerance to define face group. This value is used + during the fitting of the primitives. The values can range between + 0 and 0.01. The default value is 0.001. + Only valid if meshGenerateFaceGroupsMethodType is AccurateGenerateFaceGroupsType. """ - return str() + pass @property - def fullPathName(self) -> str: + def targetBaseFeature(self) -> BaseFeature: """ - The name of the occurrence, including the full path of occurrences as seen in the browser. - The top-level component will depend on the context but will typically be the root component - of the design. A name for an occurrence that is at the third level of an assembly could be - "Sub1:1+Sub2:1+PartA:1". + 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 str() - @property - def appearance(self) -> core.Appearance: + return BaseFeature() + @targetBaseFeature.setter + def targetBaseFeature(self, value: BaseFeature): """ - Read-write property that gets and sets the appearance override for this occurrence. - This property can return null indicating there is no override appearance and that the - contents of the occurrence are displayed using there defined appearance. - Setting the property to null will remove any override appearance for this occurrence. + 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 core.Appearance() - @appearance.setter - def appearance(self, value: core.Appearance): + pass + +class MeshGenerateFaceGroupsFeatures(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 mesh generate face groups features in a component + and supports the ability to create new mesh generate face groups features. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MeshGenerateFaceGroupsFeatures: + return MeshGenerateFaceGroupsFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> MeshGenerateFaceGroupsFeature: + return None + def __iter__(self) -> Iterator[MeshGenerateFaceGroupsFeature]: + return None + def item(self, index: int) -> MeshGenerateFaceGroupsFeature: """ - Read-write property that gets and sets the appearance override for this occurrence. - This property can return null indicating there is no override appearance and that the - contents of the occurrence are displayed using there defined appearance. - Setting the property to null will remove any override appearance for this occurrence. + Function that returns the specified mesh generate face groups 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. """ - pass - @property - def isLightBulbOn(self) -> bool: + return MeshGenerateFaceGroupsFeature() + def createInput(self, mesh: core.Base) -> MeshGenerateFaceGroupsFeatureInput: """ - Gets and sets if the light bulb of this occurrence as displayed in the browser is on or off. - An occurrence will only be visible if the light bulb is switched on. However, - the light bulb can be on and the occurrence still invisible if a higher level occurrence - in the assembly context is not visible because its light bulb is off. + Creates a MeshGenerateFaceGroupsFeatureInput object. Use properties and methods on this object + to define the mesh generate face groups feature you want to create and then use the add method, passing in + the MeshGenerateFaceGroupsFeatureInput object. + mesh : A MeshBody in either a parametric or direct modeling design. + Returns the newly created MeshGenerateFaceGroupsFeatureInput object or null if the creation failed. """ - return bool() - @isLightBulbOn.setter - def isLightBulbOn(self, value: bool): + return MeshGenerateFaceGroupsFeatureInput() + def add(self, input: MeshGenerateFaceGroupsFeatureInput) -> MeshGenerateFaceGroupsFeature: """ - Gets and sets if the light bulb of this occurrence as displayed in the browser is on or off. - An occurrence will only be visible if the light bulb is switched on. However, - the light bulb can be on and the occurrence still invisible if a higher level occurrence - in the assembly context is not visible because its light bulb is off. + Creates a mesh generate face groups feature. + input : A MeshGenerateFaceGroupsFeatureInput object that defines the desired generate face groups feature. Use the createInput + method to create a new MeshGenerateFaceGroupsFeatureInput object and then use methods on it + (the MeshGenerateFaceGroupsFeatureInput object) to define the generate face groups feature. + Returns the newly created MeshGenerateFaceGroupsFeatureInput object or null if the creation failed. + Returns nothing in the case where the feature is non-parametric. """ - pass - @property - def isVisible(self) -> bool: + return MeshGenerateFaceGroupsFeature() + def itemByName(self, name: str) -> MeshGenerateFaceGroupsFeature: """ - Gets whether the occurrence is visible. - This property is affected by the assembly context. + Function that returns the specified MeshGenerateFaceGroups 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 bool() + return MeshGenerateFaceGroupsFeature() @property - def transform(self) -> core.Matrix3D: + def count(self) -> int: """ - Gets and sets the 3d matrix data that defines this occurrences orientation and - position in its assembly context + The number of mesh generate face groups features in the collection. """ - return core.Matrix3D() - @transform.setter - def transform(self, value: core.Matrix3D): + return int() + +class MeshManager(core.Base): + """ + Provides access to meshes that approximate a B-Rep and T-Spline. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MeshManager: + return MeshManager() + def createMeshCalculator(self) -> TriangleMeshCalculator: """ - Gets and sets the 3d matrix data that defines this occurrences orientation and - position in its assembly context + Creates a new MeshCalculator which is used to calculate + new triangular meshes based on various parameters that control the calculation. + Returns the new MeshCalculator object or null if the creation failed. """ - pass + return TriangleMeshCalculator() @property - def timelineObject(self) -> TimelineObject: + def displayMeshes(self) -> TriangleMeshList: """ - Returns the timeline object associated with the creation of this occurrence. + Returns a collection that provides access to all of the + existing display meshes. """ - return TimelineObject() + return TriangleMeshList() @property - def assemblyContext(self) -> Occurrence: + def parent(self) -> core.Base: """ - Returns the assembly occurrence (i.e. the occurrence) of this - object in an assembly. This is only valid in the case where this - references the component the object is defined within. - Returns null in the case where the object is not in the context of an assembly - but is already the native object. + Returns the parent BRepBody, BRepFace, BRepLump, BRepShell, SculptBody, or SculptFace object. """ - return Occurrence() + return core.Base() + +class MeshReduceFeatureInput(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 mesh reduce + feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MeshReduceFeatureInput: + return MeshReduceFeatureInput() @property - def nativeObject(self) -> Occurrence: + def mesh(self) -> core.Base: """ - The NativeObject is the object outside the context of an assembly. - Returns null in the case where this object is not in the context of - an assembly but is already the native object. - The return type is strongly typed for each object. + Gets and sets the input mesh body. """ - return Occurrence() + return core.Base() + @mesh.setter + def mesh(self, value: core.Base): + """ + Gets and sets the input mesh body. + """ + pass @property - def isGrounded(self) -> bool: + def meshReduceMethodType(self) -> MeshReduceMethodTypes: """ - Gets and sets whether this occurrence is grounded or not. + Gets and sets the type of mesh reduce, default value is AdaptiveReduceType. """ - return bool() - @isGrounded.setter - def isGrounded(self, value: bool): + return MeshReduceMethodTypes() + @meshReduceMethodType.setter + def meshReduceMethodType(self, value: MeshReduceMethodTypes): """ - Gets and sets whether this occurrence is grounded or not. + Gets and sets the type of mesh reduce, default value is AdaptiveReduceType. """ pass @property - def isSelectable(self) -> bool: + def meshReduceTargetType(self) -> MeshReduceTargetTypes: """ - Gets and sets whether this occurrence is selectable or not. + Gets and sets the target criteria for the reduction, default value is MaximumDeviationMeshReduceTargetType. """ - return bool() - @isSelectable.setter - def isSelectable(self, value: bool): + return MeshReduceTargetTypes() + @meshReduceTargetType.setter + def meshReduceTargetType(self, value: MeshReduceTargetTypes): """ - Gets and sets whether this occurrence is selectable or not. + Gets and sets the target criteria for the reduction, default value is MaximumDeviationMeshReduceTargetType. """ pass @property - def isIsolated(self) -> bool: + def maximumDeviation(self) -> core.ValueInput: """ - Gets and sets whether this occurrence is isolated in the UI. When an occurrence - is isolated it is the only one visible in the user-interface. Only one occurrence - can be isolated at a time so setting this property to true will un-isolate an occurrence - that is currently isolated. Setting this property to false for an occurrence that is - current isolated will un-isolate it so that no occurrence will be isolated. + Controls the maximum deviation of the reduced mesh to the original mesh. + The default value is 0. + Only valid if meshReduceTargetType is MaximumDeviationMeshReduceTargetType. """ - return bool() - @isIsolated.setter - def isIsolated(self, value: bool): + return core.ValueInput() + @maximumDeviation.setter + def maximumDeviation(self, value: core.ValueInput): """ - Gets and sets whether this occurrence is isolated in the UI. When an occurrence - is isolated it is the only one visible in the user-interface. Only one occurrence - can be isolated at a time so setting this property to true will un-isolate an occurrence - that is currently isolated. Setting this property to false for an occurrence that is - current isolated will un-isolate it so that no occurrence will be isolated. + Controls the maximum deviation of the reduced mesh to the original mesh. + The default value is 0. + Only valid if meshReduceTargetType is MaximumDeviationMeshReduceTargetType. """ pass @property - def isActive(self) -> bool: + def proportion(self) -> core.ValueInput: """ - Gets whether this occurrence is the active edit target in the user interface. - This is the same as checking the state of the radio button next to the occurrence in the browser. - To activate the occurrence use the Activate method. + Gets and sets the proportion of number of faces of the reduced mesh to the number of + faces of original mesh as a target for the reduction. The value can range between 0 and 100 percent. + Only valid if meshReduceTargetType is ProportionMeshReduceTargetType. """ - return bool() - @property - def physicalProperties(self) -> PhysicalProperties: + return core.ValueInput() + @proportion.setter + def proportion(self, value: core.ValueInput): """ - Returns the PhysicalProperties object that has properties for getting the area, density, mass, volume, moments, etc - of this occurrence. Property values will be calculated using the 'LowCalculationAccuracy' setting when using this property - to get the PhysicalProperties object. To specify a higher calculation tolerance, use the getPhysicalProperties method instead. - Returns a PhysicalProperties object that can be used to get the various physical property related values. + Gets and sets the proportion of number of faces of the reduced mesh to the number of + faces of original mesh as a target for the reduction. The value can range between 0 and 100 percent. + Only valid if meshReduceTargetType is ProportionMeshReduceTargetType. """ - return PhysicalProperties() + pass @property - def isReferencedComponent(self) -> bool: + def facecount(self) -> core.ValueInput: """ - Gets if this occurrence is referencing an external component. + Gets and sets the target face count for the reduced mesh as a target for the reduction. + Only valid if meshReduceTargetType is FaceCountMeshReduceTargetType. """ - return bool() - @property - def boundingBox(self) -> core.BoundingBox3D: + return core.ValueInput() + @facecount.setter + def facecount(self, value: core.ValueInput): """ - Returns the bounding box of this occurrence. + Gets and sets the target face count for the reduced mesh as a target for the reduction. + Only valid if meshReduceTargetType is FaceCountMeshReduceTargetType. """ - return core.BoundingBox3D() + pass @property - def joints(self) -> JointList: + def targetBaseFeature(self) -> BaseFeature: """ - Returns the joints that affect the position of this occurrence. For example, if a joint has - been created between this occurrence and another occurrence, this property will return that - joint. If the occurrence is a proxy, the joints returned will also be proxies in the same - context as the occurrence. + 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 JointList() - @property - def rigidGroups(self) -> RigidGroupList: + return BaseFeature() + @targetBaseFeature.setter + def targetBaseFeature(self, value: BaseFeature): """ - Returns the rigid groups that this occurrence is a member of. If the occurrence is a proxy, - the joints returned will also be proxies in the same context as the occurrence. + 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 RigidGroupList() - @property - def asBuiltJoints(self) -> AsBuiltJointList: + pass + +class MeshReduceFeatures(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 mesh reduce features in a component + and supports the ability to create new mesh reduce features. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MeshReduceFeatures: + return MeshReduceFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> MeshReduceFeature: + return None + def __iter__(self) -> Iterator[MeshReduceFeature]: + return None + def item(self, index: int) -> MeshReduceFeature: """ - Returns the as-built joints that affect the position of this occurrence. If the occurrence is a proxy, - the as-built joints returned will also be proxies in the same context as the occurrence. + Function that returns the specified mesh reduce 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 AsBuiltJointList() + return MeshReduceFeature() + def createInput(self, mesh: core.Base) -> MeshReduceFeatureInput: + """ + Creates a MeshReduceFeatureInput object. Use properties and methods on this object + to define the mesh reduce you want to create and then use the add method, passing in + the MeshReduceFeatureInput object. + mesh : A MeshBody in either a parametric or direct modeling design. + Returns the newly created MeshReduceFeatureInput object or null if the creation failed. + """ + return MeshReduceFeatureInput() + def add(self, input: MeshReduceFeatureInput) -> MeshReduceFeature: + """ + Creates a mesh reduce feature. + input : A MeshReduceFeatureInput object that defines the desired reduce feature. Use the createInput + method to create a new MeshReduceFeatureInput object and then use methods on it + (the MeshReduceFeatureInput object) to define the reduce. + Returns the newly created MeshReduceFeatureInput object or null if the creation failed. + Returns nothing in the case where the feature is non-parametric. + """ + return MeshReduceFeature() + def itemByName(self, name: str) -> MeshReduceFeature: + """ + Function that returns the specified MeshReduce 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 MeshReduceFeature() @property - def attributes(self) -> core.Attributes: + def count(self) -> int: """ - Returns the collection of attributes associated with this face. + The number of mesh reduce features in the collection. """ - return core.Attributes() + return int() + +class MeshRemeshFeatureInput(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 mesh re-mesh + feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MeshRemeshFeatureInput: + return MeshRemeshFeatureInput() @property - def bRepBodies(self) -> BRepBodies: + def mesh(self) -> core.Base: """ - Returns the body proxies for the B-Rep bodies in the component referenced by this occurrence. - For example if you get the occurrences from the root component and then use this property to - get the bodies from those occurrences, the bodies returned will return information in the context of the root - component, not the component they actually exist in. + Gets and sets the input mesh body. """ - return BRepBodies() + return core.Base() + @mesh.setter + def mesh(self, value: core.Base): + """ + Gets and sets the input mesh body. + """ + pass @property - def visibleOpacity(self) -> float: + def meshRemeshMethodType(self) -> MeshRemeshMethodTypes: """ - The user can set an override opacity for components and these opacity overrides combine if - children and parent components have overrides. This property returns the actual opacity that is - being used to render the occurrence. To set the opacity use the opacity property of the Component object. + Gets and sets the type of mesh re-mesh, default value is AdaptiveType. """ - return float() + return MeshRemeshMethodTypes() + @meshRemeshMethodType.setter + def meshRemeshMethodType(self, value: MeshRemeshMethodTypes): + """ + Gets and sets the type of mesh re-mesh, default value is AdaptiveType. + """ + pass @property - def entityToken(self) -> str: + def density(self) -> core.ValueInput: """ - Returns a token for the Occurrence object. This can be saved and used at a later - time with the Design.findEntityByToken method to get back the same occurrence. - - 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. + Controls the density of the newly created faces of the re-meshed mesh. + The values can range between 0 and 1. The default value is 0.25 """ - return str() + return core.ValueInput() + @density.setter + def density(self, value: core.ValueInput): + """ + Controls the density of the newly created faces of the re-meshed mesh. + The values can range between 0 and 1. The default value is 0.25 + """ + pass @property - def transform2(self) -> core.Matrix3D: + def shapePreservation(self) -> core.ValueInput: """ - Gets and sets the 3d matrix data that defines this occurrences orientation and - position in its assembly context + Gets and sets how much of the original shape needs to preserved. + The value can range between 0 and 1. The default value is 0.5. + Only valid if meshRemeshMethodType is AdaptiveType. """ - return core.Matrix3D() - @transform2.setter - def transform2(self, value: core.Matrix3D): + return core.ValueInput() + @shapePreservation.setter + def shapePreservation(self, value: core.ValueInput): """ - Gets and sets the 3d matrix data that defines this occurrences orientation and - position in its assembly context + Gets and sets how much of the original shape needs to preserved. + The value can range between 0 and 1. The default value is 0.5. + Only valid if meshRemeshMethodType is AdaptiveType. """ pass - -class OccurrenceList(core.Base): - """ - Provides a list of occurrences. - """ - def __init__(self): + @property + def isPreserveSharpEdgesEnabled(self) -> bool: + """ + Gets and sets if sharp edges are preserved during the re-mesh process. + Default value is false. + """ + return bool() + @isPreserveSharpEdgesEnabled.setter + def isPreserveSharpEdgesEnabled(self, value: bool): + """ + Gets and sets if sharp edges are preserved during the re-mesh process. + Default value is false. + """ pass - @staticmethod - def cast(arg) -> OccurrenceList: - return OccurrenceList() - def item(self, index: int) -> Occurrence: + @property + def isPreserveBoundariesEnabled(self) -> bool: """ - Returns the specified occurrence using an index into the collection. - index : The index of the occurrence within the collection to return. The first item has an index of 0. - Returns the specified occurrence or null in the case of an invalid index. + Gets and sets if open boundary edges are preserved during the re-mesh process. + Default value is false. """ - return Occurrence() - def itemByName(self, name: str) -> Occurrence: + return bool() + @isPreserveBoundariesEnabled.setter + def isPreserveBoundariesEnabled(self, value: bool): """ - Returns the specified occurrence using the name of the occurrence. - name : The name of the occurrence to return. - Returns the occurrence or null if an invalid name was specified + Gets and sets if open boundary edges are preserved during the re-mesh process. + Default value is false. """ - return Occurrence() + pass @property - def count(self) -> int: + def targetBaseFeature(self) -> BaseFeature: """ - Returns the number of occurrences in the collection. + 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 int() + 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 Occurrences(core.Base): +class MeshRemeshFeatures(core.Base): """ - Provides access to occurrences within a component and provides - methods to create new occurrences. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Collection that provides access to all of the existing mesh re-mesh features in a component + and supports the ability to create new mesh re-mesh features. """ def __init__(self): pass @staticmethod - def cast(arg) -> Occurrences: - return Occurrences() - def item(self, index: int) -> Occurrence: + def cast(arg) -> MeshRemeshFeatures: + return MeshRemeshFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> MeshRemeshFeature: + return None + def __iter__(self) -> Iterator[MeshRemeshFeature]: + return None + def item(self, index: int) -> MeshRemeshFeature: """ - Function that returns the specified occurrence using an index into the collection. + Function that returns the specified mesh re-mesh 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 Occurrence() - def itemByName(self, name: str) -> Occurrence: + return MeshRemeshFeature() + def createInput(self, mesh: core.Base) -> MeshRemeshFeatureInput: """ - Returns the specified occurrence using the name of the occurrence. - name : The name of the occurrence to return. - Returns the occurrence or null if an invalid name was specified + Creates a MeshRemeshFeatureInput object. Use properties and methods on this object + to define the mesh re-mesh you want to create and then use the add method, passing in + the MeshRemeshFeatureInput object. + mesh : A MeshBody in either a parametric or direct modeling design. + Returns the newly created MeshRemeshFeatureInput object or null if the creation failed. """ - return Occurrence() - def addExistingComponent(self, component: Component, transform: core.Matrix3D) -> Occurrence: + return MeshRemeshFeatureInput() + def add(self, input: MeshRemeshFeatureInput) -> MeshRemeshFeature: """ - Method that creates a new occurrence using an existing component. This is the equivalent - of copying and pasting an occurrence in the user interface. - component : The existing component to create a new occurrence of. - transform : A transform that defines the location for the new occurrence - Returns the newly created occurrence or null if the creation failed. + Creates a mesh re-mesh feature. + input : A MeshRemeshFeatureInput object that defines the desired re-mesh feature. Use the createInput + method to create a new MeshRemeshFeatureInput object and then use methods on it + (the MeshRemeshFeatureInput object) to define the re-mesh. + Returns the newly created MeshRemeshFeatureInput object or null if the creation failed. + Returns nothing in the case where the feature is non-parametric. """ - return Occurrence() - def addNewComponent(self, transform: core.Matrix3D) -> Occurrence: + return MeshRemeshFeature() + def itemByName(self, name: str) -> MeshRemeshFeature: """ - Method that creates a new component and an occurrence that references it. - transform : A transform that defines the location for the new occurrence. - Returns the newly created occurrence or null if the creation failed. + Function that returns the specified MeshRemesh 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 Occurrence() - def addByInsert(self, dataFile: core.DataFile, transform: core.Matrix3D, isReferencedComponent: bool) -> Occurrence: + return MeshRemeshFeature() + @property + def count(self) -> int: """ - Method that inserts an existing file. - dataFile : The dataFile to insert. - transform : A transform that defines the location for the new occurrence. - isReferencedComponent : Indicates if the insert is to be an external reference or embedded within this document. - This method will fail if the dataFile being inserted is not from the same project as the document - it is being inserted into while isReferencedComponent is True. - Returns the newly created occurrence or null if the insert failed. - Insert will fail if the dataFile being inserted is not from the same project as the document - it is being inserted into while isReferencedComponent is True. + The number of mesh re-mesh features in the collection. """ - return Occurrence() - def asArray(self) -> list[Occurrence]: + return int() + +class MeshRemoveFeatureInput(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 mesh remove + feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MeshRemoveFeatureInput: + return MeshRemoveFeatureInput() + @property + def inputBodies(self) -> list[MeshBody]: """ - Get the current list of all occurrences. - The occurrences are returned in the same order as they appear in the browser. - Returns the current list of all occurrences. + Gets and sets the input meshes. """ - return [Occurrence()] - @property - def count(self) -> int: + return [MeshBody()] + @inputBodies.setter + def inputBodies(self, value: list[MeshBody]): """ - Returns the number of occurrences in the collection. + Gets and sets the input meshes. """ - return int() + pass @property - def asList(self) -> OccurrenceList: + def targetBaseFeature(self) -> BaseFeature: """ - Returns the contents of this collection as an OccurrencesList object. This - is useful when writing a function that traverses an assembly. + 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 OccurrenceList() + 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 OffsetFacesFeatures(core.Base): +class MeshRemoveFeatures(core.Base): """ - Collection that provides access to all of the existing Offset Face features in a design. - Offset Face features are created in the UI using the "Press Pull" command. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Collection that provides access to all of the existing mesh remove features in a component + and supports the ability to create new mesh remove features. """ def __init__(self): pass @staticmethod - def cast(arg) -> OffsetFacesFeatures: - return OffsetFacesFeatures() - def item(self, index: int) -> OffsetFacesFeature: + def cast(arg) -> MeshRemoveFeatures: + return MeshRemoveFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> MeshRemoveFeature: + return None + def __iter__(self) -> Iterator[MeshRemoveFeature]: + return None + def item(self, index: int) -> MeshRemoveFeature: """ - Function that returns the specified Offset Face feature using an index into the collection. + Function that returns the specified mesh remove 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 OffsetFacesFeature() - def itemByName(self, name: str) -> OffsetFacesFeature: + return MeshRemoveFeature() + def createInput(self, inputBodies: list[MeshBody]) -> MeshRemoveFeatureInput: """ - Function that returns the specified Offset Face feature using the name of the feature. - Offset Face features are created in the UI using the "Press Pull" command. + Creates a MeshRemoveFeatureInput object. Use properties and methods on this object + to define the mesh remove feature you want to create and then use the add method, passing in + the MeshRemoveFeatureInput object. + inputBodies : A array with mesh bodies in a parametric design. + Returns the newly created MeshRemoveFeatureInput object or null if the creation failed. + """ + return MeshRemoveFeatureInput() + def add(self, input: MeshRemoveFeatureInput) -> list[MeshRemoveFeature]: + """ + Creates a mesh remove feature. Works only in parametric mode. + input : A MeshRemoveFeatureInput object that defines the desired mesh remove feature. Use the createInput + method to create a new MeshRemoveFeatureInput object and then use methods on it + (the MeshRemoveFeatureInput object) to define the removal. + When successfull, a MeshRemoveFeature is created for each MeshBody that was input. + An array of the created MeshRemoveFeature objects is returned. + """ + return [MeshRemoveFeature()] + def itemByName(self, name: str) -> MeshRemoveFeature: + """ + Function that returns the specified mesh remove 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 OffsetFacesFeature() + return MeshRemoveFeature() @property def count(self) -> int: """ - The number of Offset Face features in the collection. - Offset Face features are created in the UI using the "Press Pull" command. + The number of mesh remove features in the collection. """ return int() -class OffsetFeatureInput(core.Base): +class MeshRepairFeatureInput(core.Base): """ - This class defines the methods and properties that pertain to the definition of a offset feature. + !!!!! 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 mesh repair + feature. """ def __init__(self): pass @staticmethod - def cast(arg) -> OffsetFeatureInput: - return OffsetFeatureInput() + def cast(arg) -> MeshRepairFeatureInput: + return MeshRepairFeatureInput() @property - def entities(self) -> core.ObjectCollection: + def mesh(self) -> core.Base: """ - An ObjectCollection containing the BRepFace objects being offset. + Gets and sets the input mesh body. """ - return core.ObjectCollection() - @entities.setter - def entities(self, value: core.ObjectCollection): + return core.Base() + @mesh.setter + def mesh(self, value: core.Base): """ - An ObjectCollection containing the BRepFace objects being offset. + Gets and sets the input mesh body. """ pass @property - def isChainSelection(self) -> bool: + def meshRepairType(self) -> MeshRepairTypes: """ - Get and sets whether faces that are tangentially connected to the input faces will be included in the offset. + Gets and sets the type of mesh repair, default value is StitchAndRemoveMeshRepairType. """ - return bool() - @isChainSelection.setter - def isChainSelection(self, value: bool): + return MeshRepairTypes() + @meshRepairType.setter + def meshRepairType(self, value: MeshRepairTypes): """ - Get and sets whether faces that are tangentially connected to the input faces will be included in the offset. + Gets and sets the type of mesh repair, default value is StitchAndRemoveMeshRepairType. """ pass @property - def distance(self) -> core.ValueInput: + def meshRepairRebuildType(self) -> MeshRepairRebuildTypes: """ - Gets and sets the ValueInput object that defines the offset distance. A positive distance value results - in an offset in the positive normal direction of the faces. + Gets and sets the type of mesh repair rebuild mode, default value is FastMeshRepairRebuildType. + Only valid if meshRepairType is RebuildMeshRepairType. + """ + return MeshRepairRebuildTypes() + @meshRepairRebuildType.setter + def meshRepairRebuildType(self, value: MeshRepairRebuildTypes): + """ + Gets and sets the type of mesh repair rebuild mode, default value is FastMeshRepairRebuildType. + Only valid if meshRepairType is RebuildMeshRepairType. + """ + pass + @property + def density(self) -> core.ValueInput: + """ + Controls the density of the newly created triangles in RebuildMeshRepairType, default value is 128. + The values can range between 8 and 256. + Only valid if meshRepairType is RebuildMeshRepairType. """ return core.ValueInput() - @distance.setter - def distance(self, value: core.ValueInput): + @density.setter + def density(self, value: core.ValueInput): """ - Gets and sets the ValueInput object that defines the offset distance. A positive distance value results - in an offset in the positive normal direction of the faces. + Controls the density of the newly created triangles in RebuildMeshRepairType, default value is 128. + The values can range between 8 and 256. + Only valid if meshRepairType is RebuildMeshRepairType. """ pass @property - def operation(self) -> FeatureOperations: + def offset(self) -> core.ValueInput: """ - Gets and sets the feature operation to perform. Can be 'NewBodyFeatureOperation' or 'NewComponentFeatureOperation'. + Gets and sets the offset from the original mesh to the newly created mesh, default value is zero. + Only valid if meshRepairType is RebuildMeshRepairType and meshRepairRebuildType is AccurateMeshRepairRebuildType. """ - return FeatureOperations() - @operation.setter - def operation(self, value: FeatureOperations): + return core.ValueInput() + @offset.setter + def offset(self, value: core.ValueInput): """ - Gets and sets the feature operation to perform. Can be 'NewBodyFeatureOperation' or 'NewComponentFeatureOperation'. + Gets and sets the offset from the original mesh to the newly created mesh, default value is zero. + Only valid if meshRepairType is RebuildMeshRepairType and meshRepairRebuildType is AccurateMeshRepairRebuildType. """ pass @property @@ -12980,331 +21049,360 @@ def targetBaseFeature(self, value: BaseFeature): """ pass -class OffsetFeatures(core.Base): +class MeshRepairFeatures(core.Base): """ - Collection that provides access to all of the existing Offset features in a component - and supports the ability to create new Offset features. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Collection that provides access to all of the existing mesh repair features in a component + and supports the ability to create new mesh repair features. """ def __init__(self): pass @staticmethod - def cast(arg) -> OffsetFeatures: - return OffsetFeatures() - def item(self, index: int) -> OffsetFeature: + def cast(arg) -> MeshRepairFeatures: + return MeshRepairFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> MeshRepairFeature: + return None + def __iter__(self) -> Iterator[MeshRepairFeature]: + return None + def item(self, index: int) -> MeshRepairFeature: """ - Function that returns the specified offset feature using an index into the collection. + Function that returns the specified mesh repair 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 OffsetFeature() - def createInput(self, entities: core.ObjectCollection, distance: core.ValueInput, operation: FeatureOperations, isChainSelection: bool) -> OffsetFeatureInput: + return MeshRepairFeature() + def createInput(self, mesh: core.Base) -> MeshRepairFeatureInput: """ - 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 - the OffsetFeatureInput object to create the feature. - entities : An ObjectCollection containing the BRepFace objects to offset. Additional faces may be - automatically used depending on the value of the isChainSelection argument. - Input faces need not be from the same body. - distance : ValueInput object that defines the offset distance. A positive value is in the positive - normal direction of the face being offset. - operation : The feature operation to perform. 'NewBodyFeatureOperation' and 'NewComponentFeatureOperation' are the - options supported. - isChainSelection : A boolean value for setting whether or not faces that are tangentially connected to - the input faces (if any) will be included in the offset. The default value is true. - Returns the newly created OffsetFeatureInput object or null if the creation failed. + Creates a MeshRepairFeatureInput object. Use properties and methods on this object + to define the mesh repair you want to create and then use the add method, passing in + the MeshRepairFeatureInput object. + mesh : A MeshBody in either a parametric or direct modeling design. + Returns the newly created MeshRepairFeatureInput object or null if the creation failed. """ - return OffsetFeatureInput() - def add(self, input: OffsetFeatureInput) -> OffsetFeature: + return MeshRepairFeatureInput() + def add(self, input: MeshRepairFeatureInput) -> MeshRepairFeature: """ - Creates a new offset feature. - input : A FeatureInput object that defines the desired offset feature. Use the createInput - method to create a new OffsetFeatureInput object and then use methods on it - (the OffsetFeatureInput object) to define the offset feature. - Returns the newly created OffsetFeature object or null if the creation failed. + Creates a mesh repair feature. + input : A MeshRepairFeatureInput object that defines the desired repair feature. Use the createInput + method to create a new MeshRepairFeatureInput object and then use methods on it + (the MeshRepairFeatureInput object) to define the repair. + Returns the newly created MeshRepairFeature object or null if the creation failed. + Returns nothing in the case where the feature is non-parametric. """ - return OffsetFeature() - def itemByName(self, name: str) -> OffsetFeature: + return MeshRepairFeature() + def itemByName(self, name: str) -> MeshRepairFeature: """ - Function that returns the specified offset feature using the name of the feature. + Function that returns the specified MeshRepair 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 OffsetFeature() + return MeshRepairFeature() @property def count(self) -> int: """ - The number of Offset features in the collection. + The number of mesh repair features in the collection. """ return int() -class Parameter(core.Base): +class MeshReverseNormalFeatureInput(core.Base): """ - The base class Parameter object that can represent model or user parameters. + !!!!! 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 MeshReverseNormal + feature. """ def __init__(self): pass @staticmethod - def cast(arg) -> Parameter: - return Parameter() + def cast(arg) -> MeshReverseNormalFeatureInput: + return MeshReverseNormalFeatureInput() @property - def value(self) -> float: + def mesh(self) -> core.Base: """ - Gets and sets the real value (a double) of the parameter in database units. - Setting this property will set/reset the expression value for this parameter + Gets and sets the input mesh body. This can either be a mesh body or an object collection with face groups. """ - return float() - @value.setter - def value(self, value: float): + return core.Base() + @mesh.setter + def mesh(self, value: core.Base): """ - Gets and sets the real value (a double) of the parameter in database units. - Setting this property will set/reset the expression value for this parameter + Gets and sets the input mesh body. This can either be a mesh body or an object collection with face groups. """ pass @property - def expression(self) -> str: + def targetBaseFeature(self) -> BaseFeature: """ - Gets and sets the expression (i.e. "22.064 mm") used to calculate the value of the parameter + 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 str() - @expression.setter - def expression(self, value: str): + return BaseFeature() + @targetBaseFeature.setter + def targetBaseFeature(self, value: BaseFeature): """ - Gets and sets the expression (i.e. "22.064 mm") used to calculate the value of the parameter + 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 name(self) -> str: + +class MeshReverseNormalFeatures(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 MeshReverseNormal features in a component + and supports the ability to create new MeshReverseNormal features. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MeshReverseNormalFeatures: + return MeshReverseNormalFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> MeshReverseNormalFeature: + return None + def __iter__(self) -> Iterator[MeshReverseNormalFeature]: + return None + def item(self, index: int) -> MeshReverseNormalFeature: """ - Gets and sets the name of the parameter. Setting the name can fail if the name - is not unique with respect to all other parameters in the design. + Function that returns the specified mesh reverse normal 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 str() - @name.setter - def name(self, value: str): + return MeshReverseNormalFeature() + def createInput(self, mesh: core.Base) -> MeshReverseNormalFeatureInput: """ - Gets and sets the name of the parameter. Setting the name can fail if the name - is not unique with respect to all other parameters in the design. + Creates a MeshReverseNormalFeatureInput object. Use properties and methods on this object + to define the mesh reverse normal you want to create and then use the add method, passing in + the MeshReverseNormalFeatureInput object. + mesh : A mesh body or an object collection with face groups in either a parametric or direct modeling design. + Returns the newly created MeshReverseNormalFeatureInput object or null if the creation failed. """ - pass + return MeshReverseNormalFeatureInput() + def add(self, input: MeshReverseNormalFeatureInput) -> MeshReverseNormalFeature: + """ + Creates a mesh reverse normal feature. + input : A MeshReverseNormalFeatureInput object that defines the desired MeshReverseNormal feature. Use the createInput + method to create a new MeshReverseNormalFeatureInput object and then use methods on it + (the MeshReverseNormalFeatureInput object) to define the normal reversion. + Returns the newly created MeshReverseNormalFeature object or null if the creation failed. + Returns nothing in the case where the feature is non-parametric. + """ + return MeshReverseNormalFeature() + def itemByName(self, name: str) -> MeshReverseNormalFeature: + """ + Function that returns the specified MeshReverseNormal 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 MeshReverseNormalFeature() @property - def unit(self) -> str: + def count(self) -> int: """ - The unit type associated with this parameter. An empty string is returned for parameters - that don't have a unit type. + The number of mesh reverse normal features in the collection. """ - return str() + return int() + +class MeshSeparateFeatureInput(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 MeshSeparate + feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MeshSeparateFeatureInput: + return MeshSeparateFeatureInput() @property - def comment(self) -> str: + def mesh(self) -> core.Base: """ - The comment associated with this parameter + Gets and sets the input mesh body. This can either be a mesh body or an object collection with face groups. """ - return str() - @comment.setter - def comment(self, value: str): + return core.Base() + @mesh.setter + def mesh(self, value: core.Base): """ - The comment associated with this parameter + Gets and sets the input mesh body. This can either be a mesh body or an object collection with face groups. """ pass @property - def isFavorite(self) -> bool: + def meshSeparateType(self) -> MeshSeparateTypes: """ - Gets and sets whether this parameter is included in the Favorites list in the - parameters dialog + Gets and sets the output type of mesh separation, default value is ShellMeshSeparateType. Only valid if the input is a mesh body. """ - return bool() - @isFavorite.setter - def isFavorite(self, value: bool): + return MeshSeparateTypes() + @meshSeparateType.setter + def meshSeparateType(self, value: MeshSeparateTypes): """ - Gets and sets whether this parameter is included in the Favorites list in the - parameters dialog + Gets and sets the output type of mesh separation, default value is ShellMeshSeparateType. Only valid if the input is a mesh body. """ pass @property - def dependentParameters(self) -> ParameterList: + def isKeepBody(self) -> bool: """ - Returns a list of parameters that are dependent on this parameter as a result - of this parameter being referenced in their equation. + Preserves a copy of the original mesh body. Default value is false. """ - return ParameterList() - @property - def isDeletable(self) -> bool: + return bool() + @isKeepBody.setter + def isKeepBody(self, value: bool): """ - Gets if this parameter can be deleted. Parameters that cannot be deleted are: Model Parameters and - User Parameters that have dependents. + Preserves a copy of the original mesh body. Default value is false. """ + pass + @property + def isMultipleBodies(self) -> bool: return bool() + @isMultipleBodies.setter + def isMultipleBodies(self, value: bool): + pass @property - def attributes(self) -> core.Attributes: + def targetBaseFeature(self) -> BaseFeature: """ - Returns the collection of attributes associated with this face. + 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 core.Attributes() - @property - def entityToken(self) -> str: + return BaseFeature() + @targetBaseFeature.setter + def targetBaseFeature(self, value: BaseFeature): """ - Returns a token for the Parameter object. This can be saved and used at a later - time with the Design.findEntityByToken method to get back the same parameter. + 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. - 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. + 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 str() + pass -class ParameterList(core.Base): +class MeshSeparateFeatures(core.Base): """ - Transient object used to pass a set of parameters. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Collection that provides access to all of the existing MeshSeparate features in a component + and supports the ability to create new MeshSeparate features. """ def __init__(self): pass @staticmethod - def cast(arg) -> ParameterList: - return ParameterList() - @staticmethod - def create() -> ParameterList: + def cast(arg) -> MeshSeparateFeatures: + return MeshSeparateFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> MeshSeparateFeature: + return None + def __iter__(self) -> Iterator[MeshSeparateFeature]: + return None + def item(self, index: int) -> MeshSeparateFeature: """ - Creates a parameter list that the client can use for various purposes. - Use ParameterList.Add to add parameters to the list after creating it. - Returns a ParameterList - """ - return ParameterList() - def item(self, index: int) -> Parameter: - """ - Function that returns the specified parameter using an index into the collection. + Function that returns the specified mesh separate 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 Parameter() - def itemByName(self, name: str) -> Parameter: - """ - Returns the specified parameter using the name of the parameter - as it is displayed in the parameters dialog - name : The name of the parameter as it is displayed in the parameters dialog - Returns the specified item or null if an invalid name was specified. - """ - return Parameter() - def add(self, parameter: Parameter) -> bool: - """ - Adds a parameter to the list. This does not create a - new parameter, it adds an existing parameter to the list. - Note that duplicates can exist in the list. - parameter : The existing parameter to add to the list - Returns true if successful. This method will fail if the list is read-only - """ - return bool() - def removeByIndex(self, index: int) -> bool: - """ - Method that removes a parameter from the list using the index of the item - in the list - Will fail if the list is read only. - index : The index of the parameter to be removed from the list - Returns true if successful. This method will fail if the list is read-only - """ - return bool() - def removeByItem(self, item: Parameter) -> bool: + return MeshSeparateFeature() + def createInput(self, mesh: core.Base) -> MeshSeparateFeatureInput: """ - Method that removes a parameter from the list by specifying the parameter (item) - to remove - item : The parameter item to remove from the list - Returns true if successful. This method will fail if the list is read-only + Creates a MeshSeparateFeatureInput object. Use properties and methods on this object + to define the mesh separate you want to create and then use the add method, passing in + the MeshSeparateFeatureInput object. + mesh : A mesh body or an object collection with face groups in either a parametric or direct modeling design. + Returns the newly created MeshSeparateFeatureInput object or null if the creation failed. """ - return bool() - def find(self, parameter: Parameter, startIndex: int) -> int: + return MeshSeparateFeatureInput() + def add(self, input: MeshSeparateFeatureInput) -> MeshSeparateFeature: """ - Finds the specified parameter in the list. The search can be started at a specified - index rather than from the beginning of the list. - If not found, -1 is returned. - parameter : The parameter to find - startIndex : the index in the list to start the search from - Returns the index of the parameter found in the list. + Creates a mesh separate feature. + input : A MeshSeparateFeatureInput object that defines the desired MeshSeparate feature. Use the createInput + method to create a new MeshSeparateFeatureInput object and then use methods on it + (the MeshSeparateFeatureInput object) to define the separation. + Returns the newly created MeshSeparateFeature object or null if the creation failed. + Returns nothing in the case where the feature is non-parametric. """ - return int() - def contains(self, parameter: Parameter) -> bool: + return MeshSeparateFeature() + def itemByName(self, name: str) -> MeshSeparateFeature: """ - Indicates whether or not ParameterList collection contains a specified parameter - parameter : The parameter to look for in the list - Returns true if list contains the specified parameter + Function that returns the specified MeshSeparate 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 bool() + return MeshSeparateFeature() @property def count(self) -> int: """ - Returns the number of parameters in the collection. + The number of mesh separate features in the collection. """ return int() - @property - def isReadOnly(self) -> bool: - """ - Indicates if the list is read-only - Some lists returned by API calls (instead of lists created by the - user) are read only. Items cannot be added or remove from such a list. - """ - return bool() -class PatchFeatureInput(core.Base): +class MeshShellFeatureInput(core.Base): """ - This class defines the methods and properties that pertain to the definition of a patch feature. + !!!!! 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 mesh shell + feature. """ def __init__(self): pass @staticmethod - def cast(arg) -> PatchFeatureInput: - return PatchFeatureInput() + def cast(arg) -> MeshShellFeatureInput: + return MeshShellFeatureInput() @property - def boundaryCurve(self) -> core.Base: + def mesh(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. - - 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 Path is input it must define a closed shape and the B-Rep edges must be valid "open" edges. + Gets and sets the input mesh body. """ 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. - - 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 Path is input it must define a closed shape and the B-Rep edges must be valid "open" edges. - """ - pass - @property - def operation(self) -> FeatureOperations: + @mesh.setter + def mesh(self, value: core.Base): """ - Gets and sets the type of operation performed by the patch feature. Only 'NewBodyFeatureOperation' and 'NewComponentFeatureOperation' are - valid operations for patch features. - """ - return FeatureOperations() - @operation.setter - def operation(self, value: FeatureOperations): - """ - Gets and sets the type of operation performed by the patch feature. Only 'NewBodyFeatureOperation' and 'NewComponentFeatureOperation' are - valid operations for patch features. + Gets and sets the input mesh body. """ pass @property - def continuity(self) -> SurfaceContinuityTypes: + def thickness(self) -> core.ValueInput: """ - 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. + Controls the thickness of the created shell. + The default value is 0.2. """ - return SurfaceContinuityTypes() - @continuity.setter - def continuity(self, value: SurfaceContinuityTypes): + return core.ValueInput() + @thickness.setter + def thickness(self, value: core.ValueInput): """ - 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. + Controls the thickness of the created shell. + The default value is 0.2. """ pass @property @@ -13333,374 +21431,284 @@ 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 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 - """ - 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 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 -class PatchFeatures(core.Base): +class MeshShellFeatures(core.Base): """ - Collection that provides access to all of the existing Patch features in a component - and supports the ability to create new Patch features. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Collection that provides access to all of the existing mesh shell features in a component + and supports the ability to create new mesh shell features. """ def __init__(self): pass @staticmethod - def cast(arg) -> PatchFeatures: - return PatchFeatures() - def item(self, index: int) -> PatchFeature: + def cast(arg) -> MeshShellFeatures: + return MeshShellFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> MeshShellFeature: + return None + def __iter__(self) -> Iterator[MeshShellFeature]: + return None + def item(self, index: int) -> MeshShellFeature: """ - Function that returns the specified patch feature using an index into the collection. + Function that returns the specified mesh shell 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 PatchFeature() - def itemByName(self, name: str) -> PatchFeature: + return MeshShellFeature() + def createInput(self, mesh: core.Base) -> MeshShellFeatureInput: """ - Function that returns the specified patch 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. + Creates a MeshShellFeatureInput object. Use properties and methods on this object + to define the mesh shell you want to create and then use the add method, passing in + the MeshShellFeatureInput object. + mesh : A MeshBody in either a parametric or direct modeling design. + Returns the newly created MeshShellFeatureInput object or null if the creation failed. """ - return PatchFeature() - def createInput(self, boundaryCurve: core.Base, operation: FeatureOperations) -> PatchFeatureInput: + return MeshShellFeatureInput() + def add(self, input: MeshShellFeatureInput) -> MeshShellFeature: """ - 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. - 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. - - 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 Path is input it must define a closed shape and the B-Rep edges must be valid "open" edges. - 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. + Creates a mesh shell feature. + input : A MeshShellFeatureInput object that defines the desired shell feature. Use the createInput + method to create a new MeshShellFeatureInput object and then use methods on it + (the MeshShellFeatureInput object) to define the shell. + Returns the newly created MeshShellFeatureInput object or null if the creation failed. + Returns nothing in the case where the feature is non-parametric. """ - return PatchFeatureInput() - def add(self, input: PatchFeatureInput) -> PatchFeature: + return MeshShellFeature() + def itemByName(self, name: str) -> MeshShellFeature: """ - Creates a new patch feature. - input : A PatchFeatureInput object that defines the desired patch feature. Use the createInput - method to create a new PatchFeatureInput object and then use methods on it - (the PatchFeatureInput object) to define the patch feature. - Returns the newly created PatchFeature object or null if the creation failed. + Function that returns the specified MeshShell 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 PatchFeature() + return MeshShellFeature() @property def count(self) -> int: """ - The number of Patch features in the collection. + The number of mesh shell features in the collection. """ return int() -class Path(core.Base): +class MeshSmoothFeatureInput(core.Base): """ - The Path object represents a single set of connected curves. The order of the objects within the collection is the same as the connection order of the entities. - When using a Path to create a feature, the Path serves as a way to pass in the set of sketch entities and edges. When - getting the Path of an existing feature it returns the actual path used to define the feature geometry. In cases like a - sweep feature, this can result in using portions of the original input sketch curves or edges and the returned path - will provide these "partial" curves as the PathEntity objects. + !!!!! 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 MeshSmooth + feature. """ def __init__(self): pass @staticmethod - def cast(arg) -> Path: - return Path() - @staticmethod - def create(curves: core.Base, chainOptions: ChainedCurveOptions) -> Path: - """ - Creates a new Path that can be used as input to various features. For example, it is used - to create an open set of curves to create surfaces using extrude, revolve, and sweep. - It is also used to create the path for a sweep and sections and profiles and rails for lofts. And - it is used to define the boundary of a patch feature. - - Although the creation of a path is very flexible as far as the types of entities and whether they - are planar or not, each of the features have specific requirements and the path must meet those - requirements. For example, a path for an extrusion can only contain sketch curves and must be planar, - whereas the path for a sweep can contain a mix of sketch curves and edges and can be in three dimensions. - curves : A SketchCurve, BRepEdge, or an ObjectCollection containing multiple sketch entities and/or BRepEdges. If a single sketch curve - or BRepEdge is input the chainCurves argument is used to determine if connected curves or edges (they do not need to be tangent) - should be automatically found. Searching for connected curves is only performed within the same sketch or open edges on the same - body. If multiple curves are provided the chainCurves argument is treated as false so only the specified input curves are - used. The input curves need to geometrically connect for a path to be created. - chainOptions : If a single SketchCurve or BRepEdge is input, this argument is used to specify the rules in how chained entities should be found. If - an ObjectCollection is input, this argument is ignored. - Returns the new Path object or null in the case of a failure. - """ - return Path() - def item(self, index: int) -> PathEntity: - """ - Function that returns the specified PathEntity 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 PathEntity() - def createForAssemblyContext(self, occurrence: Occurrence) -> Path: + def cast(arg) -> MeshSmoothFeatureInput: + return MeshSmoothFeatureInput() + @property + def mesh(self) -> core.Base: """ - 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 : - Returns the proxy object or null if this isn't the NativeObject. + Gets and sets the input mesh body. """ - return Path() - def addCurves(self, curves: core.Base, chainOptions: ChainedCurveOptions) -> bool: + return core.Base() + @mesh.setter + def mesh(self, value: core.Base): """ - Adds additional curves to the existing path. This can be useful when creating a complex path for a sweep and you - want to include sets of curves from multiple sketches and edges from multiple bodies. - curves : A SketchCurve, BRepEdge, or an ObjectCollection containing multiple sketch entities and/or BRepEdges. If a single sketch curve - or BRepEdge is input the chainCurves argument is used to determine if connected curves or edges (they do not need to be tangent) - should be automatically found. Searching for connected curves is only performed within the same sketch or open edges on the same - body. If multiple curves are provided the chainCurves argument is treated as false so only the specified input curves are - used. The input curves need to geometrically connect for a path to be created. - chainOptions : If a single SketchCurve or BRepEdge is input, this argument is used to specify the rules in how chained entities should be found. If - an ObjectCollection is input, this argument is ignored. - Returns a bool indicating if the process was successful or not. + Gets and sets the input mesh body. """ - return bool() + pass @property - def count(self) -> int: + def smoothness(self) -> core.ValueInput: """ - The number of curves in the path. + Gets and sets the smoothness value. The range is between 0 and 1. + The default value is 0.02. + The higher the value the stronger the smoothing. """ - return int() - @property - def isClosed(self) -> bool: + return core.ValueInput() + @smoothness.setter + def smoothness(self, value: core.ValueInput): """ - Indicates if the path is closed or not. Returns True in the case of a closed path. + Gets and sets the smoothness value. The range is between 0 and 1. + The default value is 0.02. + The higher the value the stronger the smoothing. """ - return bool() + pass @property - def assemblyContext(self) -> Occurrence: + def targetBaseFeature(self) -> BaseFeature: """ - This property is not supported for the Path object. + 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 Occurrence() - @property - def nativeObject(self) -> Path: + return BaseFeature() + @targetBaseFeature.setter + def targetBaseFeature(self, value: BaseFeature): """ - This property is not supported for the Path object. + 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 Path() + pass -class PathEntity(core.Base): +class MeshSmoothFeatures(core.Base): """ - The PathEntity object represents a curve within a path + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Collection that provides access to all of the existing MeshSmooth features in a component + and supports the ability to create new MeshSmooth features. """ def __init__(self): pass @staticmethod - def cast(arg) -> PathEntity: - return PathEntity() - def createForAssemblyContext(self, occurrence: Occurrence) -> PathEntity: + def cast(arg) -> MeshSmoothFeatures: + return MeshSmoothFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> MeshSmoothFeature: + return None + def __iter__(self) -> Iterator[MeshSmoothFeature]: + return None + def item(self, index: int) -> MeshSmoothFeature: """ - 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 : - Returns the proxy object or null if this isn't the NativeObject. + Function that returns the specified mesh smooth 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 PathEntity() - @property - def curve(self) -> core.Curve3D: + return MeshSmoothFeature() + def createInput(self, mesh: core.Base) -> MeshSmoothFeatureInput: """ - Property that returns the geometry of the entity. - This is different from the original path curve if the true start point is not the same as the start point of the original path curve. + Creates a MeshSmoothFeatureInput object. Use properties and methods on this object + to define the mesh smooth you want to create and then use the add method, passing in + the MeshSmoothFeatureInput object. + mesh : A MeshBody in either a parametric or direct modeling design. + Returns the newly created MeshSmoothFeatureInput object or null if the creation failed. """ - return core.Curve3D() - @property - def curveType(self) -> core.Curve3DTypes: + return MeshSmoothFeatureInput() + def add(self, input: MeshSmoothFeatureInput) -> MeshSmoothFeature: """ - Property that returns the type of the curve referenced by the path entity. This property allows you to determine what type of object will be returned by the Curve property. + Creates a mesh smooth feature. + input : A MeshSmoothFeatureInput object that defines the desired MeshSmooth feature. Use the createInput + method to create a new MeshSmoothFeatureInput object and then use methods on it + (the MeshSmoothFeatureInput object) to define the smoothing. + Returns the newly created MeshSmoothFeature object or null if the creation failed. + Returns nothing in the case where the feature is non-parametric. """ - return core.Curve3DTypes() - @property - def entity(self) -> core.Base: + return MeshSmoothFeature() + def itemByName(self, name: str) -> MeshSmoothFeature: """ - Property that gets the sketch curve or edge this entity was derived from. + Function that returns the specified MeshSmooth 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 core.Base() + return MeshSmoothFeature() @property - def parentPath(self) -> Path: + def count(self) -> int: """ - Property that returns the parent Path of the entity. + The number of mesh smooth features in the collection. """ - return Path() - @property - def assemblyContext(self) -> Occurrence: + return int() + +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: """ - This property is not supported for a PathEntity object. + 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 Occurrence() - @property - def nativeObject(self) -> PathEntity: + return MinimumRadiusAnalysis() + def itemByName(self, name: str) -> MinimumRadiusAnalysis: """ - This property is not supported for a PathEntity object. + 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 PathEntity() + return MinimumRadiusAnalysis() @property - def isOpposedToEntity(self) -> bool: + def count(self) -> int: """ - Indicates if the orientation of this PathEntity is in the same direction or opposed to the natural direction - of the SketchCurve or BRepEdge object it is derived from. + Returns the number of MinimumRadiusAnalysis objects in the collection. """ - return bool() + return int() -class PathPatternFeatureInput(core.Base): +class MirrorFeatureInput(core.Base): """ - This class defines the methods and properties that pertain to the definition of a path pattern + This class defines the methods and properties that pertain to the definition of a mirror feature. """ def __init__(self): pass @staticmethod - def cast(arg) -> PathPatternFeatureInput: - return PathPatternFeatureInput() + def cast(arg) -> MirrorFeatureInput: + return MirrorFeatureInput() @property def inputEntities(self) -> core.ObjectCollection: """ - Gets and sets the input entities. The collection can contain faces, features, bodies or occurrences. - All of the entities must be of a single type. For example, it can't contain features and occurrences - but only features or occurrences. + Gets and sets the entities that are mirrored. It can contain faces, features, bodies, or components. + The input must all be of a single type. For example, you can't provide a body and a component but + the collection must be either all bodies or all components. """ return core.ObjectCollection() @inputEntities.setter def inputEntities(self, value: core.ObjectCollection): """ - Gets and sets the input entities. The collection can contain faces, features, bodies or occurrences. - All of the entities must be of a single type. For example, it can't contain features and occurrences - but only features or occurrences. - """ - pass - @property - def path(self) -> Path: - """ - Gets and sets the path to create the pattern on path. - """ - return Path() - @path.setter - def path(self, value: Path): - """ - Gets and sets the path to create the pattern on path. - """ - 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 distance(self) -> core.ValueInput: - """ - Gets and sets the distance. - """ - return core.ValueInput() - @distance.setter - def distance(self, value: core.ValueInput): - """ - Gets and sets the distance. - """ - pass - @property - def startPoint(self) -> float: - """ - Gets and sets the start point on the path to count the distance. - It's between 0 and 1. 0 means start point of the path, 1 means end point of the path. - """ - return float() - @startPoint.setter - def startPoint(self, value: float): - """ - Gets and sets the start point on the path to count the distance. - It's between 0 and 1. 0 means start point of the path, 1 means end point of the path. - """ - pass - @property - def isFlipDirection(self) -> bool: - """ - Gets and sets if flip the direction from start point. - """ - return bool() - @isFlipDirection.setter - def isFlipDirection(self, value: bool): - """ - Gets and sets if flip the direction from start point. - """ - pass - @property - def patternDistanceType(self) -> PatternDistanceType: - """ - Gets and sets how the distance between elements is computed. - """ - return PatternDistanceType() - @patternDistanceType.setter - def patternDistanceType(self, value: PatternDistanceType): - """ - Gets and sets how the distance between elements is computed. - """ - pass - @property - def isSymmetric(self) -> bool: - """ - Gets and sets if the pattern is in one direction or symmetric. - """ - return bool() - @isSymmetric.setter - def isSymmetric(self, value: bool): - """ - Gets and sets if the pattern is in one direction or symmetric. + Gets and sets the entities that are mirrored. It can contain faces, features, bodies, or components. + The input must all be of a single type. For example, you can't provide a body and a component but + the collection must be either all bodies or all components. """ pass @property - def isOrientationAlongPath(self) -> bool: + def mirrorPlane(self) -> core.Base: """ - Gets and sets if the orientation is along path. - If false, the orientation is identical. + Gets and sets the mirror plane. This can be either a planar face or construction plane. """ - return bool() - @isOrientationAlongPath.setter - def isOrientationAlongPath(self, value: bool): + return core.Base() + @mirrorPlane.setter + def mirrorPlane(self, value: core.Base): """ - Gets and sets if the orientation is along path. - If false, the orientation is identical. + Gets and sets the mirror plane. This can be either a planar face or construction plane. """ pass @property def patternComputeOption(self) -> PatternComputeOptions: """ - Gets and sets the compute option when patterning features. The default value for this is AdjustPatternCompute. - This property only applies when patterning features and is ignored in the direct modeling environment. + Gets and sets the compute option when mirroring features. The default value for this is AdjustPatternCompute. + This property only applies when mirroring features and is ignored in the direct modeling environment. """ return PatternComputeOptions() @patternComputeOption.setter def patternComputeOption(self, value: PatternComputeOptions): """ - Gets and sets the compute option when patterning features. The default value for this is AdjustPatternCompute. - This property only applies when patterning features and is ignored in the direct modeling environment. + Gets and sets the compute option when mirroring features. The default value for this is AdjustPatternCompute. + This property only applies when mirroring features and is ignored in the direct modeling environment. """ pass @property @@ -13729,1333 +21737,1582 @@ 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 isCombine(self) -> bool: + """ + Gets and sets whether the mirrored bodies should be combined with the original bodies. + When true, the mirrored geometry will be Boolean unioned with the original solid or surface body(s) + when they connect within the stitch tolerance defined with the stitchTolerance property. If the bodies + cannot be unioned or stitched the result will be separate bodies. + If any input object is not a body, then this setting is ignored. + Default is false. + """ + return bool() + @isCombine.setter + def isCombine(self, value: bool): + """ + Gets and sets whether the mirrored bodies should be combined with the original bodies. + When true, the mirrored geometry will be Boolean unioned with the original solid or surface body(s) + when they connect within the stitch tolerance defined with the stitchTolerance property. If the bodies + cannot be unioned or stitched the result will be separate bodies. + If any input object is not a body, then this setting is ignored. + Default is false. + """ + pass + @property + def stitchTolerance(self) -> core.ValueInput: + """ + Gets and sets the ValueInput object that defines the Stitching Tolerance (length) + to use when doing a mirror and combine for surface bodies. + """ + return core.ValueInput() + @stitchTolerance.setter + def stitchTolerance(self, value: core.ValueInput): + """ + Gets and sets the ValueInput object that defines the Stitching Tolerance (length) + to use when doing a mirror and combine for surface bodies. + """ + pass -class PathPatternFeatures(core.Base): +class MirrorFeatures(core.Base): """ - Collection that provides access to all of the existing path pattern features in a component - and supports the ability to create new path pattern features. + Collection that provides access to all of the existing mirror features in a component + and supports the ability to create new mirror features. """ def __init__(self): pass @staticmethod - def cast(arg) -> PathPatternFeatures: - return PathPatternFeatures() - def item(self, index: int) -> PathPatternFeature: + 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 path pattern feature using an index into the collection. + Function that returns the specified mirror 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 PathPatternFeature() - def createInput(self, inputEntities: core.ObjectCollection, path: Path, quantity: core.ValueInput, distance: core.ValueInput, patternDistanceType: PatternDistanceType) -> PathPatternFeatureInput: + return MirrorFeature() + def createInput(self, inputEntities: core.ObjectCollection, mirrorPlane: core.Base) -> MirrorFeatureInput: """ - Creates a PathPatternFeatureInput object. Use properties and methods on this object - to define the path pattern you want to create and then use the Add method, passing in - the PathPatternFeatureInput object. - inputEntities : The collection can contain faces, features, bodies or occurrences. - All of the entities must be of a single type. For example, it can't contain features and occurrences - but only features or occurrences. - path : The Path object that represents a single set of connected curves along which to drive the pattern. - quantity : Specifies the number of instances in the first direction. - distance : Specifies the distance. How this value is used depends on the value of the PatternDistanceType property. A - negative value can be used to change the direction. - 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. - patternDistanceType : Specifies how the distance between elements is computed. - Returns the newly created PathPatternFeatureInput object or null if the creation failed. + Creates a MirrorFeatureInput object. Use properties and methods on this object + to define the mirror you want to create and then use the Add method, passing in + the MirrorFeatureInput object. + inputEntities : A collection of the entities to mirror. It can contain faces, features, bodies, or components. + The input must all be of a single type. For example, you can't provide a body and a component but + the collection must be either all bodies or all components. + mirrorPlane : Input planar entity that defines the mirror plane. This can be either a planar face or a construction plane. + Returns the newly created MirrorFeatureInput object or null if the creation failed. """ - return PathPatternFeatureInput() - def add(self, input: PathPatternFeatureInput) -> PathPatternFeature: + return MirrorFeatureInput() + def add(self, input: MirrorFeatureInput) -> MirrorFeature: """ - Creates a new path pattern feature. - input : A PathPatternFeatureInput object that defines the desired path pattern. Use the createInput - method to create a new PathPatternFeatureInput object and then use methods on it - (the PathPatternFeatureInput object) to define the path pattern. - Returns the newly created PathPatternFeature object or null if the creation failed. + Creates a new mirror feature. + input : A MirrorFeatureInput object that defines the desired mirror. Use the createInput + method to create a new MirrorFeatureInput object and then use methods on it + (the MirrorFeatureInput object) to define the mirror. + Returns the newly created MirrorFeature object or null if the creation failed. """ - return PathPatternFeature() - def itemByName(self, name: str) -> PathPatternFeature: + return MirrorFeature() + def itemByName(self, name: str) -> MirrorFeature: """ - Function that returns the specified path pattern feature using the name of the feature. + Function that returns the specified mirror 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 PathPatternFeature() + return MirrorFeature() @property def count(self) -> int: """ - The number of path pattern features in the collection. + The number of mirror features in the collection. """ return int() -class PatternElement(core.Base): +class ModelParameters(core.Base): """ - This class defines the properties that pertain to the pattern element. + Provides access to the Model Parameters within a component. """ def __init__(self): pass @staticmethod - def cast(arg) -> PatternElement: - return PatternElement() - @property - def faces(self) -> list[BRepFace]: + 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: """ - Gets the faces generated as a result of this particular element. + Function that returns the specified Model Parameter 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 [BRepFace()] + return ModelParameter() + def itemByName(self, name: str) -> ModelParameter: + """ + Function that returns the specified Model Parameter using the name of the parameter as it is + displayed in the parameters dialog. + name : The name of the Model Parameter as it is displayed in the parameters dialog + Returns the specified item or null if an invalid name was specified. + """ + return ModelParameter() @property - def id(self) -> int: + def count(self) -> int: """ - Gets the id of this element within the pattern. + Returns the number of parameters in the collection. """ return int() @property - def parentFeature(self) -> Feature: + def component(self) -> Component: """ - Gets the feature pattern this element is a member of. + Returns the component that owns the Model Parameters collection """ - return Feature() - @property - def isSuppressed(self) -> bool: + return Component() + +class MotionLink(core.Base): + """ + A MotionLink in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MotionLink: + return MotionLink() + def setMotionData(self, motionOne: JointMotionTypes, valueOne: core.ValueInput, motionTwo: JointMotionTypes, valueTwo: core.ValueInput, isReversed: bool = False) -> bool: """ - Gets and sets whether the element is suppressed or not. A value of True indicates it is suppressed + Method that sets the motion data. + motionOne : Specifies the first motion to link. + valueOne : Specifies the first motion link value. If the ValueInput uses a real then it is interpreted as centimeters for length and radians for angle. + If it is a string then the units can be defined as part of the string (i.e. "2 in" or "60 deg") or if no units are specified it is interpreted using the current default units for length or angle. + motionTwo : Specifies the second motion to link. + valueTwo : Specifies the second motion link value. If the ValueInput uses a real then it is interpreted as centimeters for length and radians for angle. + If it is a string then the units can be defined as part of the string (i.e. "2 in" or "60 deg") or if no units are specified it is interpreted using the current default units for length or angle. + isReversed : Optional argument that specifies whether to reverse the direction of the motion. + Returns true if successful. """ return bool() - @isSuppressed.setter - def isSuppressed(self, value: bool): + def deleteMe(self) -> bool: """ - Gets and sets whether the element is suppressed or not. A value of True indicates it is suppressed + Deletes this MotionLink. + Returns true if the delete is successful. """ - pass + return bool() + def createForAssemblyContext(self, occurrence: Occurrence) -> MotionLink: + """ + 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 MotionLink() @property - def transform(self) -> core.Matrix3D: + def parentComponent(self) -> Component: """ - Get the transform that describes this elements relative position to the parent object(s). - The transform returned for the first element in a pattern will be an identity matrix. + Returns the parent component that owns this MotionLink. """ - return core.Matrix3D() + return Component() @property def name(self) -> str: """ - Get the name of the pattern element. + Gets and sets the name of the MotionLink. """ return str() - @property - def occurrences(self) -> list[Occurrence]: + @name.setter + def name(self, value: str): """ - If the patternEntityType property of the parent feature returns OccurrencesPatternType - then this property will return the occurrences associated with this particular pattern - element. + Gets and sets the name of the MotionLink. """ - return [Occurrence()] - -class PatternElements(core.Base): - """ - Collection that provides access to pattern elements of mirror and pattern features. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> PatternElements: - return PatternElements() - def item(self, index: int) -> PatternElement: + @property + def jointOne(self) -> core.Base: """ - Function that returns the specified pattern element 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 first joint for this MotionLink. """ - return PatternElement() + return core.Base() @property - def count(self) -> int: + def jointTwo(self) -> core.Base: """ - The number of pattern elements in the collection. + Gets the second joint for this MotionLink. This can return null if the linked motions are from the same joint. """ - return int() - -class PhysicalProperties(core.Base): - """ - The physical properties of a Component, Occurrence or BRepBody - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> PhysicalProperties: - return PhysicalProperties() - def getPrincipalAxes(self) -> tuple[bool, core.Vector3D, core.Vector3D, core.Vector3D]: + return core.Base() + @property + def motionOne(self) -> JointMotionTypes: """ - Method that returns the principal axes. - xAxis : The output Vector3D object that indicates the direction of the x axis. - yAxis : The output Vector3D object that indicates the direction of the y axis. - zAxis : The output Vector3D object that indicates the direction of the z axis. - Returns true if successful + Gets the first motion type. """ - return (bool(), core.Vector3D(), core.Vector3D(), core.Vector3D()) - def getPrincipalMomentsOfInertia(self) -> tuple[bool, float, float, float]: + return JointMotionTypes() + @property + def motionTwo(self) -> JointMotionTypes: """ - Method that returns the moments of inertia about the principal axes. Unit for returned values is kg/cm^2. - i1 : Output Double that specifies the first moment of inertia. - i2 : Output Double that specifies the second moment of inertia. - i3 : Output Double that specifies the third moment of inertia. - Returns true if successful + Gets the second motion type. """ - return (bool(), float(), float(), float()) - def getRadiusOfGyration(self) -> tuple[bool, float, float, float]: + return JointMotionTypes() + @property + def valueOne(self) -> ModelParameter: """ - Method that returns the radius of gyration about the principal axes. Unit for returned values is cm. - kx : Output Double that returns the X partial radius of gyration. - ky : Output Double that returns the Y partial radius of gyration. - kz : Output Double that returns the Z partial radius of gyration. - Returns true if successful + Returns the ModelParameter for the first motion link value. """ - return (bool(), float(), float(), float()) - def getRotationToPrincipal(self) -> tuple[bool, float, float, float]: + return ModelParameter() + @property + def valueTwo(self) -> ModelParameter: """ - Gets the rotation from the world coordinate system of the target to the principal coordinate system. - rx : - ry : - rz : - Returns true if successful + Returns the ModelParameter for the second motion link value. """ - return (bool(), float(), float(), float()) - def getXYZMomentsOfInertia(self) -> tuple[bool, float, float, float, float, float, float]: + return ModelParameter() + @property + def isReversed(self) -> bool: """ - Method that gets the moment of inertia about the world coordinate system. - Unit for returned values is kg/cm^2. - xx : Output Double that returns the XX partial moment. - yy : Output Double that returns the YY partial moment. - zz : Output Double that returns the ZZ partial moment. - xy : Output Double that returns the XY partial moment. - yz : Output Double that returns the YZ partial moment. - xz : Output Double that returns the XZ partial moment. - Returns true if successful + Gets and sets whether the motion is reversed or not. """ - return (bool(), float(), float(), float(), float(), float(), float()) - @property - def area(self) -> float: + return bool() + @isReversed.setter + def isReversed(self, value: bool): """ - Gets the area in square centimeters. + Gets and sets whether the motion is reversed or not. """ - return float() + pass @property - def density(self) -> float: + def timelineObject(self) -> TimelineObject: """ - Gets the density in kilograms per cubic centimeter. + Returns the timeline object associated with this MotionLink. """ - return float() + return TimelineObject() @property - def mass(self) -> float: + def nativeObject(self) -> MotionLink: """ - Gets the mass in kilograms. + 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 float() + return MotionLink() @property - def volume(self) -> float: + def assemblyContext(self) -> Occurrence: """ - Gets the volume in the cubic centimeters. + 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 float() + return Occurrence() @property - def accuracy(self) -> CalculationAccuracy: + def isSuppressed(self) -> bool: """ - Returns the accuracy that was used for the calculation. + Gets and sets if this MotionLink is suppressed. """ - return CalculationAccuracy() - @property - def centerOfMass(self) -> core.Point3D: + return bool() + @isSuppressed.setter + def isSuppressed(self, value: bool): """ - Returns the center of mass position + Gets and sets if this MotionLink is suppressed. """ - return core.Point3D() - -class PipeFeatures(core.Base): - """ - 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 item(self, index: int) -> PipeFeature: + @property + def attributes(self) -> core.Attributes: """ - 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. + Returns the collection of attributes associated with this MotionLink. """ - return PipeFeature() - def itemByName(self, name: str) -> PipeFeature: + return core.Attributes() + @property + def healthState(self) -> FeatureHealthStates: """ - 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. + Returns the current health state of the MotionLink. """ - return PipeFeature() + return FeatureHealthStates() @property - def count(self) -> int: + 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. """ - The number of pipe features in the collection. + return str() + @property + def entityToken(self) -> str: """ - return int() + Returns a token for the MotionLink object. This can be saved and used at a later + time with the Design.findEntityByToken method to get back the same MotionLink. + + 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 PolygonMesh(core.Base): +class MotionLinkInput(core.Base): """ - The PolygonMesh represents a mesh that can contain any - combination of polygons, quads, and triangles. + Defines all of the information required to create a new MotionLink. This object provides + equivalent functionality to the MotionLink command dialog in that it gathers the required + information to create a MotionLink. """ def __init__(self): pass @staticmethod - def cast(arg) -> PolygonMesh: - return PolygonMesh() + def cast(arg) -> MotionLinkInput: + return MotionLinkInput() @property - def nodeCount(self) -> int: + def jointOne(self) -> core.Base: """ - Returns the number of nodes in the mesh. + Gets and sets the first Joint or AsBuiltJoint for this MotionLink. When you link two motions from the same joint, a valid joint should have its joint motion type of BallJointType, CylindricalJointType, PinSlotJointType or PlanarJointType. + A joint whose joint motion is a RigidJointMotion type is never valid as the first joint.. """ - return int() - @property - def nodeCoordinatesAsDouble(self) -> list[float]: + return core.Base() + @jointOne.setter + def jointOne(self, value: core.Base): """ - Returns the node coordinates as an array of doubles where - they are the x, y, z components of each coordinate. + Gets and sets the first Joint or AsBuiltJoint for this MotionLink. When you link two motions from the same joint, a valid joint should have its joint motion type of BallJointType, CylindricalJointType, PinSlotJointType or PlanarJointType. + A joint whose joint motion is a RigidJointMotion type is never valid as the first joint.. """ - return [float()] + pass @property - def nodeCoordinatesAsFloat(self) -> list[float]: + def jointTwo(self) -> core.Base: """ - Returns the node coordinates as an array of floats where - they are the x, y, z components of each coordinate. + Gets and sets the second Joint or AsBuiltJoint for this MotionLink. This can be a joint or null, when this is set to null then the two motions are from the same joint specified by jointOne. + A joint whose joint motion is a RigidJointMotion type is never valid as the second joint. """ - return [float()] - @property - def nodeCoordinates(self) -> list[core.Point3D]: + return core.Base() + @jointTwo.setter + def jointTwo(self, value: core.Base): """ - Returns the node coordinates as an array of Point3D objects. + Gets and sets the second Joint or AsBuiltJoint for this MotionLink. This can be a joint or null, when this is set to null then the two motions are from the same joint specified by jointOne. + A joint whose joint motion is a RigidJointMotion type is never valid as the second joint. """ - return [core.Point3D()] + pass @property - def triangleCount(self) -> int: + def motionOne(self) -> JointMotionTypes: """ - Returns the number of triangles in the mesh. + Gets and sets the first motion type. """ - return int() - @property - def quadCount(self) -> int: + return JointMotionTypes() + @motionOne.setter + def motionOne(self, value: JointMotionTypes): """ - Returns the number of quads in the mesh. + Gets and sets the first motion type. """ - return int() + pass @property - def polygonCount(self) -> int: + def motionTwo(self) -> JointMotionTypes: """ - Returns the number of polygons (more than 4 sides) in the mesh. + Gets and sets the second motion type. """ - return int() - @property - def normalVectorsAsDouble(self) -> list[float]: + return JointMotionTypes() + @motionTwo.setter + def motionTwo(self, value: JointMotionTypes): """ - Returns the normal vectors as an array of doubles where - they are the x, y, z components of each vector. There is one normal vector for each index. + Gets and sets the second motion type. """ - return [float()] + pass @property - def normalVectorsAsFloat(self) -> list[float]: + def valueOne(self) -> core.ValueInput: """ - Returns the normal vectors as an array of floats. There is one normal vector for each index. + Gets and sets the first motion link value. If the ValueInput uses a real then it is interpreted as centimeters for length and radians for angle. + If it is a string then the units can be defined as part of the string (i.e. "2 in" or "60 deg") or if no units are specified it is interpreted using the current default units for length or angle. """ - return [float()] - @property - def normalVectors(self) -> list[core.Vector3D]: + return core.ValueInput() + @valueOne.setter + def valueOne(self, value: core.ValueInput): """ - Returns the normal vectors as an array of Vector 3D objects. There is one normal vector for each index. + Gets and sets the first motion link value. If the ValueInput uses a real then it is interpreted as centimeters for length and radians for angle. + If it is a string then the units can be defined as part of the string (i.e. "2 in" or "60 deg") or if no units are specified it is interpreted using the current default units for length or angle. """ - return [core.Vector3D()] + pass @property - def triangleNodeIndices(self) -> list[int]: + def valueTwo(self) -> core.ValueInput: """ - Returns the index values that index into the NodeCoordinates and NormalVectors arrays to - define the three coordinates of each triangle and the corresponding normal. + Gets and sets the second motion link value. If the ValueInput uses a real then it is interpreted as centimeters for length and radians for angle. + If it is a string then the units can be defined as part of the string (i.e. "2 in" or "60 deg") or if no units are specified it is interpreted using the current default units for length or angle. """ - return [int()] - @property - def quadNodeIndices(self) -> list[int]: + return core.ValueInput() + @valueTwo.setter + def valueTwo(self, value: core.ValueInput): """ - Returns the index values that index into the NodeCoordinates and NormalVectors arrays to - define the four coordinates of each quad and the corresponding normal. + Gets and sets the second motion link value. If the ValueInput uses a real then it is interpreted as centimeters for length and radians for angle. + If it is a string then the units can be defined as part of the string (i.e. "2 in" or "60 deg") or if no units are specified it is interpreted using the current default units for length or angle. """ - return [int()] + pass @property - def polygonNodeIndices(self) -> list[int]: + def isReversed(self) -> bool: """ - Returns the index values that index into the NodeCoordinates and NormalVectors arrays to - define the coordinates of each polygon and the corresponding normal. + Gets and sets whether the direction of the motion is reversed or not. """ - return [int()] - @property - def nodeCountPerPolygon(self) -> list[int]: + return bool() + @isReversed.setter + def isReversed(self, value: bool): """ - Returns the number of nodes that define each polygon. For example, - if NodeCountPerPolygon[0] returns 6 it indicates the first polygon - is defined using 6 nodes. The first six indices returned by the - PolygonNodeIndices properties provide the look-up into the NodeCoordinates - array. + Gets and sets whether the direction of the motion is reversed or not. """ - return [int()] + pass -class Profile(core.Base): +class MotionLinks(core.Base): """ - Represents a profile in a sketch. Profiles are automatically computed by Fusion 360 and - represent closed areas within the sketch. + The collection of MotionLinks in this component. This provides access to all existing MotionLinks + and supports the ability to create new MotionLinks. """ def __init__(self): pass @staticmethod - def cast(arg) -> Profile: - return Profile() - def createForAssemblyContext(self, occurrence: Occurrence) -> Profile: + def cast(arg) -> MotionLinks: + return MotionLinks() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> MotionLink: + return None + def __iter__(self) -> Iterator[MotionLink]: + return None + def item(self, index: int) -> MotionLink: """ - 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. - Returns null if this isn't the NativeObject. - occurrence : The occurrence that defines the context to create the proxy in. - Returns the proxy object or null if this isn't the NativeObject. + Function that returns the specified MotionLink 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 Profile() - def areaProperties(self, accuracy: CalculationAccuracy) -> AreaProperties: + return MotionLink() + def createInput(self, jointOne: core.Base, jointTwo: core.Base = None) -> MotionLinkInput: """ - Calculates the area properties for the profile. - accuracy : Specifies the desired level of computational accuracy of the property calculations. - The default value of 'LowCalculationAccuracy' returns results within a +/- 1% error margin. - Returns the AreaProperties object that has properties for getting the area, perimeter, centroid, etc - of this profile. + Creates a MotionLinkInput object, which is the API equivalent to the Motion Link command dialog. + You can use methods and properties on the returned object to set the desired options, similar to + providing input and setting options in the MotionLink command dialog. Once the settings are defined + you call the MotionLinks.add method passing in the MotionLinkInput object to create the actual MotionLink. + jointOne : Inputs the first Joint or AsBuiltJoint to link its motion(s). If the jointTwo is set to null, then two motions from the jointOne will be linked, + and in this case a valid Joint or AsBuiltJoint for jointOne should have its joint motion type of BallJointType, CylindricalJointType, PinSlotJointType or PlanarJointType. + A Joint or AsBuiltJoint whose joint motion is a RigidJointMotion type is never valid as the first joint. + jointTwo : Inputs the second Joint or AsBuiltJoint to link its motion. If this is set to null, then the two motions from the jointOne will be linked. + A Joint or AsBuiltJoint whose joint motion is a RigidJointMotion type is never valid as the second joint. + Returns the MotionLinkInput object or null if the creation failed. """ - return AreaProperties() - @property - def boundingBox(self) -> core.BoundingBox3D: + return MotionLinkInput() + def add(self, input: MotionLinkInput) -> MotionLink: """ - Returns the 3D bounding box of the profile in sketch space. + Creates a new MotionLink. + input : The MotionLinkInput object that defines various inputs that fully define a MotionLink. + A MotionLinkInput object is created using the MotionLinks.createInput method. + Returns the newly created MotionLink or null in the case of failure. """ - return core.BoundingBox3D() - @property - def plane(self) -> core.Plane: + return MotionLink() + def itemByName(self, name: str) -> MotionLink: """ - Returns the plane the profile is defined in. Profiles are always planar and exist within - a single plane. + Function that returns the specified MotionLink 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 core.Plane() + return MotionLink() @property - def profileLoops(self) -> ProfileLoops: + def count(self) -> int: """ - The loops or closed areas within this profile. There is always a single outer loop - but there can be zero to many inner loops defining voids in the profile. + Returns number of MotionLinks in the collection. """ - return ProfileLoops() + return int() + +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 parentSketch(self) -> Sketch: + def parentMoveFeature(self) -> MoveFeature: """ - Returns the parent sketch of the profile. + Returns the parent MoveFeature object """ - return Sketch() + return MoveFeature() + +class MoveFeatureInput(core.Base): + """ + This class defines the methods and properties that pertain to the definition of a move feature. + """ + def __init__(self): + pass + @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 assemblyContext(self) -> Occurrence: + def inputEntities(self) -> core.ObjectCollection: """ - 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. + An ObjectCollection containing the objects to move. The collection can contain + BRepBody or BRepFace objects but not a mixture of the two types. """ - return Occurrence() - @property - def nativeObject(self) -> Profile: + return core.ObjectCollection() + @inputEntities.setter + def inputEntities(self, value: core.ObjectCollection): """ - 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. + An ObjectCollection containing the objects to move. The collection can contain + BRepBody or BRepFace objects but not a mixture of the two types. """ - return Profile() + pass @property - def entityToken(self) -> str: + def targetBaseFeature(self) -> BaseFeature: """ - Returns a token for the Profile object. This can be saved and used at a later - time with the Design.findEntityByToken method to get back the same profile. + 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. - 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. + 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 str() + 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 ProfileCurve(core.Base): +class MoveFeatures(core.Base): """ - A single curve in a profile. + Collection that provides access to all of the existing move features in a component + and supports the ability to create new move features. """ def __init__(self): pass @staticmethod - def cast(arg) -> ProfileCurve: - return ProfileCurve() - def createForAssemblyContext(self, occurrence: Occurrence) -> ProfileCurve: + 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: """ - 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. - Returns null if this isn't the NativeObject. - occurrence : The occurrence that defines the context to create the proxy in. - Returns the proxy object or null if this isn't the NativeObject. + Function that returns the specified move 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 ProfileCurve() - @property - def geometry(self) -> core.Curve3D: + return MoveFeature() + def add(self, input: MoveFeatureInput) -> MoveFeature: """ - Returns the geometric entity of this portion of the profile. + Creates a new move feature. + input : A MoveFeatureInput object that defines the desired move feature. Use the createInput2 + method to create a new MoveFeatureInput object and then use methods on the MoveFeatureInput + object to define the move feature. + Returns the newly created MoveFeature object or null if the creation failed. + Returns nothing in the case where the feature is non-parametric. """ - return core.Curve3D() - @property - def geometryType(self) -> core.Curve3DTypes: + return MoveFeature() + def itemByName(self, name: str) -> MoveFeature: """ - Return the geometry type that the Geometry property will return. + Function that returns the specified move 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 core.Curve3DTypes() - @property - def sketchEntity(self) -> SketchEntity: + return MoveFeature() + def createInput2(self, inputEntities: core.ObjectCollection) -> MoveFeatureInput: """ - Returns the associated sketch entity that defines this curve. + 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 SketchEntity() + return MoveFeatureInput() @property - def parentProfileLoop(self) -> ProfileLoop: + def count(self) -> int: """ - Returns the parent ProfileLoop object. + The number of move features in the collection. """ - return ProfileLoop() + return int() + +class ObjectVisibility(core.Base): + """ + An object that provides control over which objects are displayed in the graphics window. + This is the equivalent of the "Object Visibility" settings in the Display Settings drop-down + in the navigation toolbar at the bottom of the Fusion graphics window. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ObjectVisibility: + return ObjectVisibility() @property - def parentProfile(self) -> Profile: + def isAllObjectsVisible(self) -> bool: """ - Returns the parent Profile object. + Sets if all objects are visible or hidden. When setting this property it + will set the value of all other properties of this object to true or false. + When getting this property, if it is true, then all other properties are true. + If false, one or more other properties are false. """ - return Profile() - @property - def parentSketch(self) -> Sketch: + return bool() + @isAllObjectsVisible.setter + def isAllObjectsVisible(self, value: bool): """ - Returns the parent Profile object. + Sets if all objects are visible or hidden. When setting this property it + will set the value of all other properties of this object to true or false. + When getting this property, if it is true, then all other properties are true. + If false, one or more other properties are false. """ - return Sketch() + pass @property - def assemblyContext(self) -> Occurrence: + def isOriginPlanesVisible(self) -> bool: """ - 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. + Gets and sets if the origin construction planes of all components, local or + referenced by this design, are visible in the graphics window. """ - return Occurrence() - @property - def nativeObject(self) -> ProfileCurve: + return bool() + @isOriginPlanesVisible.setter + def isOriginPlanesVisible(self, value: bool): """ - 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 if the origin construction planes of all components, local or + referenced by this design, are visible in the graphics window. """ - return ProfileCurve() + pass @property - def boundingBox(self) -> core.BoundingBox3D: + def isOriginAxesVisible(self) -> bool: """ - Returns the bounding box of the profile curve in sketch space. + Gets and sets if the origin construction axes of all components, local or + referenced by this design, are visible in the graphics window. """ - return core.BoundingBox3D() - -class ProfileCurves(core.Base): - """ - A collection of profile curves within a profile loop. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> ProfileCurves: - return ProfileCurves() - def item(self, index: int) -> ProfileCurve: + return bool() + @isOriginAxesVisible.setter + def isOriginAxesVisible(self, value: bool): """ - Function that returns the specified profile curve 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 the origin construction axes of all components, local or + referenced by this design, are visible in the graphics window. """ - return ProfileCurve() + pass @property - def count(self) -> int: + def isOriginPointsVisible(self) -> bool: """ - Returns the number of curves in the collection. + Gets and sets if the origin construction points of all components, local or + referenced by this design, are visible in the graphics window. """ - return int() - -class ProfileLoop(core.Base): - """ - A loop within a profile. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> ProfileLoop: - return ProfileLoop() - def createForAssemblyContext(self, occurrence: Occurrence) -> ProfileLoop: + return bool() + @isOriginPointsVisible.setter + def isOriginPointsVisible(self, value: bool): """ - 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. - Returns null if this isn't the NativeObject. - occurrence : The occurrence that defines the context to create the proxy in. - Returns the proxy object or null if this isn't the NativeObject. + Gets and sets if the origin construction points of all components, local or + referenced by this design, are visible in the graphics window. """ - return ProfileLoop() + pass @property - def isOuter(self) -> bool: + def isUserWorkPlanesVisible(self) -> bool: """ - Indicates if this is an outer or inner loop. Profiles always have - one outer loop and have an zero to many inner loops defining voids. + Gets and sets if the user created construction planes of all components, local or + referenced by this design, are visible in the graphics window. """ return bool() - @property - def profileCurves(self) -> ProfileCurves: + @isUserWorkPlanesVisible.setter + def isUserWorkPlanesVisible(self, value: bool): """ - Returns a collection of the curves making up this loop. + Gets and sets if the user created construction planes of all components, local or + referenced by this design, are visible in the graphics window. """ - return ProfileCurves() + pass @property - def parentProfile(self) -> Profile: + def isUserWorkAxesVisible(self) -> bool: """ - Returns the parent Profile object. + Gets and sets if the user created construction axes of all components, local or + referenced by this design, are visible in the graphics window. """ - return Profile() - @property - def assemblyContext(self) -> Occurrence: + return bool() + @isUserWorkAxesVisible.setter + def isUserWorkAxesVisible(self, value: bool): """ - 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. + Gets and sets if the user created construction axes of all components, local or + referenced by this design, are visible in the graphics window. """ - return Occurrence() + pass @property - def nativeObject(self) -> ProfileLoop: + def isUserWorkPointsVisible(self) -> bool: """ - 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 if the user created construction points of all components, local or + referenced by this design, are visible in the graphics window. + """ + return bool() + @isUserWorkPointsVisible.setter + def isUserWorkPointsVisible(self, value: bool): + """ + Gets and sets if the user created construction points of all components, local or + referenced by this design, are visible in the graphics window. """ - return ProfileLoop() - -class ProfileLoops(core.Base): - """ - A collection of loops within a Profile. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> ProfileLoops: - return ProfileLoops() - def item(self, index: int) -> ProfileLoop: + @property + def isSketchesVisible(self) -> bool: """ - Function that returns the specified profile loop 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 the sketches in all components, local or referenced by this design, + are visible in the graphics window. """ - return ProfileLoop() + return bool() + @isSketchesVisible.setter + def isSketchesVisible(self, value: bool): + """ + Gets and sets if the sketches in all components, local or referenced by this design, + are visible in the graphics window. + """ + pass @property - def count(self) -> int: + def isJointOriginsVisible(self) -> bool: """ - Returns the number of loops within this profile. + Gets and sets if the glyphs for joint origins in all components, local or referenced by this design, + are visible in the graphics window. + """ + return bool() + @isJointOriginsVisible.setter + def isJointOriginsVisible(self, value: bool): + """ + Gets and sets if the glyphs for joint origins in all components, local or referenced by this design, + are visible in the graphics window. """ - return int() - -class Profiles(core.Base): - """ - A collection of all of the closed profiles currently calculated for this sketch. Closed profiles are - automatically computed by Fusion 360 and represent closed areas within the sketch. - - This class also provides some additional utility functions to create open profiles and text based profiles - that can be used as input for various features. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> Profiles: - return Profiles() - def item(self, index: int) -> Profile: + @property + def isJointOriginAxesVisible(self) -> bool: """ - Function that returns the specified closed profile 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 the axes lines shown in the glyphs for joint origins in all components, local or + referenced by this design, are visible in the graphics window. """ - return Profile() + return bool() + @isJointOriginAxesVisible.setter + def isJointOriginAxesVisible(self, value: bool): + """ + Gets and sets if the axes lines shown in the glyphs for joint origins in all components, local or + referenced by this design, are visible in the graphics window. + """ + pass @property - def count(self) -> int: + def isJointsVisible(self) -> bool: """ - Returns the number of closed profiles in the sketch. Open and text based profiles are not included. + Gets and sets if the glyphs for joints in all components, local or referenced by this design, are visible. """ - return int() + return bool() + @isJointsVisible.setter + def isJointsVisible(self, value: bool): + """ + Gets and sets if the glyphs for joints in all components, local or referenced by this design, are visible. + """ + pass -class RectangularPatternFeatureInput(core.Base): +class Occurrence(core.Base): """ - This class defines the methods and properties that pertain to the definition of a rectangular pattern - feature. + Represents an occurrence of a component at any level within a subassembly. """ def __init__(self): pass @staticmethod - def cast(arg) -> RectangularPatternFeatureInput: - return RectangularPatternFeatureInput() - def setDirectionTwo(self, directionTwoEntity: core.Base, quantityTwo: core.ValueInput, distanceTwo: core.ValueInput) -> bool: + def cast(arg) -> Occurrence: + return Occurrence() + def deleteMe(self) -> bool: """ - Sets all of the input required to define the pattern in the second direction. - directionTwoEntity : Specifies the entity used to define the second direction entity. This can be a linear edge, construction axis, sketch line or rectangular pattern feature. - If a rectangular pattern feature is set, the directionOneEntity and directionTwoEntity properties return the same rectangular pattern feature. + Deletes the occurrence from the design. If this is the last occurrence + referencing a specific Component, the component is also deleted. + Returns true if the delete was successful. + """ + return bool() + def createForAssemblyContext(self, occurrence: Occurrence) -> Occurrence: + """ + 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. + Fails if this object is not the NativeObject. + occurrence : The occurrence that represents the context you want to create this proxy in. + Returns the proxy for the occurrence in the context of the specified occurrence. + Returns null if it failed. + """ + return Occurrence() + def activate(self) -> bool: + """ + Makes the occurrence 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 bool() + def moveToComponent(self, targetOccurrence: Occurrence) -> Occurrence: + """ + Moves this occurrence from it's current component into the component owned by the specified occurrence. + This occurrence and the target occurrence must be in the same context. + targetOccurrence : The target occurrence defines both the component and the transform to apply when moving the occurrence. The + occurrence will be copied into the parent component of the target occurrence and the target occurrence also defines + the transform of how the occurrence will be copied so that the occurrence maintains it's same position in model space. + Returns the moved Occurrence or null in the case the move failed. + """ + return Occurrence() + 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. + accuracy : Specifies the desired level of computational accuracy of the property calculations. + The default value of 'LowCalculationAccuracy' returns results within a +/- 1% error margin. + Returns a PhysicalProperties object that can be used to get the various physical property related values. + """ + return PhysicalProperties() + def breakLink(self) -> bool: + """ + When the component this occurrence references is an external reference (the isReferencedComponent property returns true), + this will break the link and create a local Component that this occurrence will reference. The new local Component can + be accessed through the Occurrence using the component property. - 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. + This method will fail if the occurrence is not referencing an external component. + Returns true if the break link was successful. """ return bool() - @property - def inputEntities(self) -> core.ObjectCollection: + def replace(self, newFile: core.DataFile, replaceAll: bool) -> bool: """ - Gets and sets the input entities. The collection can contain faces, features, bodies or occurrences. - All of the entities must be of a single type. For example, it can't contain features and occurrences - but only features or occurrences. + 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 core.ObjectCollection() - @inputEntities.setter - def inputEntities(self, value: core.ObjectCollection): + return bool() + def boundingBox2(self, entityTypes: BoundingBoxEntityTypes) -> core.BoundingBox3D: """ - Gets and sets the input entities. The collection can contain faces, features, bodies or occurrences. - All of the entities must be of a single type. For example, it can't contain features and occurrences - but only features or occurrences. + Returns the bounding box of the specified entity types within the occurrence. + entityTypes : Bitwise value that specifies the types of entities to include in the + calculation of the bounding box. + Returns a BoundingBox3D object if the calculation was successful and null in the case where there is no valid geometry and the bounding box is empty. """ - pass - @property - def directionOneEntity(self) -> core.Base: + return core.BoundingBox3D() + def switchConfiguration(self, newRow: ConfigurationRow) -> bool: """ - Gets and sets the first direction entity. - This can be a linear edge, construction axis, sketch line or rectangular pattern feature. - If a rectangular pattern feature is set, the directionOneEntity and directionTwoEntity properties return the same rectangular pattern feature. + Changes which configuration is used for this occurrence. Use the isConfiguration property + to determine if this occurrence references a configuration. + newRow : The row to switch to. This row must be from the same ConfigurationTopTable as the current row. You + can access the table from the parent design. + Returns true if the switch was successful. """ - return core.Base() - @directionOneEntity.setter - def directionOneEntity(self, value: core.Base): + return bool() + @property + def sourceComponent(self) -> Component: """ - Gets and sets the first direction entity. - This can be a linear edge, construction axis, sketch line or rectangular pattern feature. - If a rectangular pattern feature is set, the directionOneEntity and directionTwoEntity properties return the same rectangular pattern feature. + This is the sourceComponent for the occurrence and is affected + by the assembly context. + This is the top-level component where the path begins. """ - pass + return Component() @property - def directionTwoEntity(self) -> core.Base: + def childOccurrences(self) -> OccurrenceList: """ - Gets and sets the second direction entity. - This can be a linear edge, construction axis, sketch line or rectangular pattern feature. - If a rectangular pattern feature is set, the directionOneEntity and directionTwoEntity properties return the same rectangular pattern feature. + Returns a read only list of child occurrences where only the occurrences + in this occurrence's AssemblyContext are returned . """ - return core.Base() - @directionTwoEntity.setter - def directionTwoEntity(self, value: core.Base): + return OccurrenceList() + @property + def component(self) -> Component: """ - Gets and sets the second direction entity. - This can be a linear edge, construction axis, sketch line or rectangular pattern feature. - If a rectangular pattern feature is set, the directionOneEntity and directionTwoEntity properties return the same rectangular pattern feature. + The component this occurrence references. """ - pass + return Component() @property - def quantityOne(self) -> core.ValueInput: + def name(self) -> str: """ - Gets and sets the number of instances in the first direction. + The name of the occurrence. This is the name as seen in the browser. It is a reflection + of the component name with an added counter suffix (i.e. 'OccurrenceName:1'). """ - return core.ValueInput() - @quantityOne.setter - def quantityOne(self, value: core.ValueInput): + return str() + @property + def fullPathName(self) -> str: """ - Gets and sets the number of instances in the first direction. + The name of the occurrence, including the full path of occurrences as seen in the browser. + The top-level component will depend on the context but will typically be the root component + of the design. A name for an occurrence that is at the third level of an assembly could be + "Sub1:1+Sub2:1+PartA:1". """ - pass + return str() @property - def quantityTwo(self) -> core.ValueInput: + def appearance(self) -> core.Appearance: """ - Gets and sets the number of instances in the second direction. + Read-write property that gets and sets the appearance override for this occurrence. + This property can return null indicating there is no override appearance and that the + contents of the occurrence are displayed using there defined appearance. + Setting the property to null will remove any override appearance for this occurrence. """ - return core.ValueInput() - @quantityTwo.setter - def quantityTwo(self, value: core.ValueInput): + return core.Appearance() + @appearance.setter + def appearance(self, value: core.Appearance): """ - Gets and sets the number of instances in the second direction. + Read-write property that gets and sets the appearance override for this occurrence. + This property can return null indicating there is no override appearance and that the + contents of the occurrence are displayed using there defined appearance. + Setting the property to null will remove any override appearance for this occurrence. """ pass @property - def distanceOne(self) -> core.ValueInput: + def isLightBulbOn(self) -> bool: """ - Gets and sets the distance in the first direction. + Gets and sets if the light bulb of this occurrence as displayed in the browser is on or off. + An occurrence will only be visible if the light bulb is switched on. However, + the light bulb can be on and the occurrence still invisible if a higher level occurrence + in the assembly context is not visible because its light bulb is off. """ - return core.ValueInput() - @distanceOne.setter - def distanceOne(self, value: core.ValueInput): + return bool() + @isLightBulbOn.setter + def isLightBulbOn(self, value: bool): """ - Gets and sets the distance in the first direction. + Gets and sets if the light bulb of this occurrence as displayed in the browser is on or off. + An occurrence will only be visible if the light bulb is switched on. However, + the light bulb can be on and the occurrence still invisible if a higher level occurrence + in the assembly context is not visible because its light bulb is off. """ pass @property - def distanceTwo(self) -> core.ValueInput: + def isVisible(self) -> bool: """ - Gets and sets the distance in the second direction. + Gets whether the occurrence is visible. + This property is affected by the assembly context. """ - return core.ValueInput() - @distanceTwo.setter - def distanceTwo(self, value: core.ValueInput): + return bool() + @property + def timelineObject(self) -> TimelineObject: """ - Gets and sets the distance in the second direction. + Returns the timeline object associated with the creation of this occurrence. """ - pass + return TimelineObject() @property - def directionOne(self) -> core.Vector3D: + def assemblyContext(self) -> Occurrence: """ - Returns a Vector3D indicating the positive direction of direction one. + Returns the assembly occurrence (i.e. the occurrence) of this + object in an assembly. This is only valid in the case where this + references the component the object is defined within. + Returns null in the case where the object is not in the context of an assembly + but is already the native object. """ - return core.Vector3D() + return Occurrence() @property - def directionTwo(self) -> core.Vector3D: + def nativeObject(self) -> Occurrence: """ - Returns a Vector3D indicating the positive direction of direction two. + The NativeObject is the object outside the context of an assembly. + Returns null in the case where this object is not in the context of + an assembly but is already the native object. + The return type is strongly typed for each object. """ - return core.Vector3D() + return Occurrence() @property - def isSymmetricInDirectionOne(self) -> bool: + def isGrounded(self) -> bool: """ - Gets and sets if the pattern in direction one is in one direction or symmetric. + Gets and sets whether this occurrence is pinned or not. """ return bool() - @isSymmetricInDirectionOne.setter - def isSymmetricInDirectionOne(self, value: bool): + @isGrounded.setter + def isGrounded(self, value: bool): """ - Gets and sets if the pattern in direction one is in one direction or symmetric. + Gets and sets whether this occurrence is pinned or not. """ pass @property - def isSymmetricInDirectionTwo(self) -> bool: + def isSelectable(self) -> bool: """ - Gets and sets if the pattern in direction two is in one direction or symmetric. + Gets and sets whether this occurrence is selectable or not. """ return bool() - @isSymmetricInDirectionTwo.setter - def isSymmetricInDirectionTwo(self, value: bool): + @isSelectable.setter + def isSelectable(self, value: bool): """ - Gets and sets if the pattern in direction two is in one direction or symmetric. + Gets and sets whether this occurrence is selectable or not. """ pass @property - def patternDistanceType(self) -> PatternDistanceType: + def isIsolated(self) -> bool: """ - Gets and sets how the distance between elements is computed. + Gets and sets whether this occurrence is isolated in the UI. When an occurrence + is isolated it is the only one visible in the user-interface. Only one occurrence + can be isolated at a time so setting this property to true will un-isolate an occurrence + that is currently isolated. Setting this property to false for an occurrence that is + current isolated will un-isolate it so that no occurrence will be isolated. """ - return PatternDistanceType() - @patternDistanceType.setter - def patternDistanceType(self, value: PatternDistanceType): + return bool() + @isIsolated.setter + def isIsolated(self, value: bool): """ - Gets and sets how the distance between elements is computed. + Gets and sets whether this occurrence is isolated in the UI. When an occurrence + is isolated it is the only one visible in the user-interface. Only one occurrence + can be isolated at a time so setting this property to true will un-isolate an occurrence + that is currently isolated. Setting this property to false for an occurrence that is + current isolated will un-isolate it so that no occurrence will be isolated. """ pass @property - def patternComputeOption(self) -> PatternComputeOptions: + def isActive(self) -> bool: """ - Gets and sets the compute option when patterning features. The default value for this is AdjustPatternCompute. - This property only applies when patterning features and is ignored in the direct modeling environment. + Gets whether this occurrence is the active edit target in the user interface. + This is the same as checking the state of the radio button next to the occurrence in the browser. + To activate the occurrence use the Activate method. """ - return PatternComputeOptions() - @patternComputeOption.setter - def patternComputeOption(self, value: PatternComputeOptions): + return bool() + @property + def physicalProperties(self) -> PhysicalProperties: """ - Gets and sets the compute option when patterning features. The default value for this is AdjustPatternCompute. - This property only applies when patterning features and is ignored in the direct modeling environment. + Returns the PhysicalProperties object that has properties for getting the area, density, mass, volume, moments, etc + of this occurrence. Property values will be calculated using the 'LowCalculationAccuracy' setting when using this property + to get the PhysicalProperties object. To specify a higher calculation tolerance, use the getPhysicalProperties method instead. + Returns a PhysicalProperties object that can be used to get the various physical property related values. """ - pass + return PhysicalProperties() @property - def targetBaseFeature(self) -> BaseFeature: + def isReferencedComponent(self) -> bool: """ - 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. + Gets if this occurrence is referencing an external component. """ - return BaseFeature() - @targetBaseFeature.setter - def targetBaseFeature(self, value: BaseFeature): + return bool() + @property + def boundingBox(self) -> core.BoundingBox3D: """ - 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. + Returns the bounding box of this occurrence. """ - pass - -class RectangularPatternFeatures(core.Base): - """ - Collection that provides access to all of the existing rectangular pattern features in a component - and supports the ability to create new rectangular pattern features. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> RectangularPatternFeatures: - return RectangularPatternFeatures() - def item(self, index: int) -> RectangularPatternFeature: + return core.BoundingBox3D() + @property + def joints(self) -> JointList: """ - Function that returns the specified rectangular pattern 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. + Returns the joints that affect the position of this occurrence. For example, if a joint has + been created between this occurrence and another occurrence, this property will return that + joint. If the occurrence is a proxy, the joints returned will also be proxies in the same + context as the occurrence. """ - return RectangularPatternFeature() - def createInput(self, inputEntities: core.ObjectCollection, directionOneEntity: core.Base, quantityOne: core.ValueInput, distanceOne: core.ValueInput, patternDistanceType: PatternDistanceType) -> RectangularPatternFeatureInput: + return JointList() + @property + def rigidGroups(self) -> RigidGroupList: """ - Creates a RectangularPatternFeatureInput object. Use properties and methods on this object - to define the rectangular pattern you want to create and then use the Add method, passing in - the RectangularPatternFeatureInput object. - inputEntities : The collection can contain faces, features, bodies or occurrences. - All of the entities must be of a single type. For example, it can't contain features and occurrences - but only features or occurrences. - directionOneEntity : Specifies the entity used to define the first direction entity. This can be a linear edge, construction axis, sketch line or rectangular pattern feature. - If a rectangular pattern feature is set, the directionOneEntity and directionTwoEntity properties return the same rectangular pattern feature. - 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. A - negative value can be used to change the direction. - 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. - patternDistanceType : Specifies how the distance between elements is computed. - Returns the newly created RectangularPatternFeatureInput object or null if the creation failed. + Returns the rigid groups that this occurrence is a member of. If the occurrence is a proxy, + the joints returned will also be proxies in the same context as the occurrence. """ - return RectangularPatternFeatureInput() - def add(self, input: RectangularPatternFeatureInput) -> RectangularPatternFeature: + return RigidGroupList() + @property + def asBuiltJoints(self) -> AsBuiltJointList: """ - Creates a new rectangular pattern feature. - input : A RectangularPatternFeatureInput object that defines the desired rectangular pattern. Use the createInput - method to create a new RectangularPatternFeatureInput object and then use methods on it - (the RectangularPatternFeatureInput object) to define the rectangular pattern. - Returns the newly created RectangularPatternFeature object or null if the creation failed. + Returns the as-built joints that affect the position of this occurrence. If the occurrence is a proxy, + the as-built joints returned will also be proxies in the same context as the occurrence. """ - return RectangularPatternFeature() - def itemByName(self, name: str) -> RectangularPatternFeature: + return AsBuiltJointList() + @property + def attributes(self) -> core.Attributes: """ - Function that returns the specified rectangular pattern 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. + Returns the collection of attributes associated with this face. """ - return RectangularPatternFeature() + return core.Attributes() @property - def count(self) -> int: + def bRepBodies(self) -> BRepBodies: """ - The number of rectangular pattern features in the collection. + Returns the body proxies for the B-Rep bodies in the component referenced by this occurrence. + For example if you get the occurrences from the root component and then use this property to + get the bodies from those occurrences, the bodies returned will return information in the context of the root + component, not the component they actually exist in. """ - return int() - -class RefoldFeatures(core.Base): - """ - Collection that provides access to all of the existing refold features in a design. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> RefoldFeatures: - return RefoldFeatures() - def item(self, index: int) -> RefoldFeature: + return BRepBodies() + @property + def visibleOpacity(self) -> float: """ - Function that returns the specified refold 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. + The user can set an override opacity for components and these opacity overrides combine if + children and parent components have overrides. This property returns the actual opacity that is + being used to render the occurrence. To set the opacity use the opacity property of the Component object. """ - return RefoldFeature() - def itemByName(self, name: str) -> RefoldFeature: + return float() + @property + def entityToken(self) -> str: """ - Function that returns the specified refold 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. + Returns a token for the Occurrence object. This can be saved and used at a later + time with the Design.findEntityByToken method to get back the same occurrence. + + 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 RefoldFeature() + return str() @property - def count(self) -> int: + def transform2(self) -> core.Matrix3D: """ - The number of refold features in the collection. + Gets and sets the 3d matrix data that defines this occurrences orientation and + position in its assembly context. This property replaces the transform property, which + has been retired because there are cases where it returns the incorrect results. + """ + return core.Matrix3D() + @transform2.setter + def transform2(self, value: core.Matrix3D): + """ + Gets and sets the 3d matrix data that defines this occurrences orientation and + position in its assembly context. This property replaces the transform property, which + has been retired because there are cases where it returns the incorrect results. """ - return int() - -class RemoveFeatures(core.Base): - """ - Collection that provides access to all of the existing Remove features in a component - and supports the ability to create new Remove features. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> RemoveFeatures: - return RemoveFeatures() - def item(self, index: int) -> RemoveFeature: + @property + def documentReference(self) -> core.DocumentReference: """ - Function that returns the specified Remove 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. + 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 RemoveFeature() - def itemByName(self, name: str) -> RemoveFeature: + return core.DocumentReference() + @property + def preciseBoundingBox(self) -> core.BoundingBox3D: """ - Function that returns the specified remove 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. + Returns a bounding box that tightly fits around all B-Rep bodies in the occurrence. + All other geometry types are ignored. """ - return RemoveFeature() - def add(self, itemToRemove: core.Base) -> RemoveFeature: + return core.BoundingBox3D() + @property + def orientedMinimumBoundingBox(self) -> core.OrientedBoundingBox3D: """ - Creates a new Remove feature. - itemToRemove : A single body (solid or surface) or component occurrence to remove. - Returns the newly created RemoveFeature object or null if the creation failed. + Returns an oriented bounding box that is best oriented to tightly fit all B-Rep bodies in the occurrence. + All other geometry types are ignored. """ - return RemoveFeature() + return core.OrientedBoundingBox3D() @property - def count(self) -> int: + def isConfiguration(self) -> bool: """ - The number of Remove features in the collection. + Returns if this occurrence represents a configuration or not. If true, you can access + the full configuration from the parent component. """ - return int() - -class ReplaceFaceFeatureInput(core.Base): - """ - This class defines the methods and properties that pertain to the definition of a replace face feature. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> ReplaceFaceFeatureInput: - return ReplaceFaceFeatureInput() + return bool() @property - def sourceFaces(self) -> core.ObjectCollection: + def configurationRow(self) -> ConfigurationRow: """ - Gets and sets the entities that define the source faces to perform replace. - The collection can contain the faces from a solid and/or from features. All the faces must be on the same body. + If this occurrence is a configuration, this property returns the row that defines it. If it isn't + a configuration, null is returned. """ - return core.ObjectCollection() - @sourceFaces.setter - def sourceFaces(self, value: core.ObjectCollection): + return ConfigurationRow() + @property + def configuredDataFile(self) -> core.DataFile: """ - Gets and sets the entities that define the source faces to perform replace. - The collection can contain the faces from a solid and/or from features. All the faces must be on the same body. + Returns the DataFile object that represents the specific version of the design used by this occurrence. + From the DataFile you can access other version of the file, most importantly, you can access the latest + version and get the top configuration table from it. """ - pass + return core.DataFile() @property - def targetFaces(self) -> core.Base: + def isGroundToParent(self) -> bool: """ - Gets and sets the entities that define the target faces. The new faces must completely intersect the part. - The collection can contain the surface faces, surface bodies and construction planes. + Gets and sets whether this occurrence is grounded to parent or not. """ - return core.Base() - @targetFaces.setter - def targetFaces(self, value: core.Base): + return bool() + @isGroundToParent.setter + def isGroundToParent(self, value: bool): """ - Gets and sets the entities that define the target faces. The new faces must completely intersect the part. - The collection can contain the surface faces, surface bodies and construction planes. + Gets and sets whether this occurrence is grounded to parent or not. """ pass @property - def isTangentChain(self) -> bool: + def initialTransform(self) -> core.Matrix3D: """ - Gets and sets if any faces that are tangentially connected to any of - the input faces will also be included in setting InputEntities. It defaults to true. + Gets and sets the initial position of the occurrence. + Setting the initial transform is not valid for all occurrences. For instance, this operation could fail if the occurrence is created by a pattern among other cases. + To determine if setting the initial transform is possible, use the isValidForEditInitialPosition property. + If this property returns false, attempting to set the initial transform will result in failure. """ - return bool() - @isTangentChain.setter - def isTangentChain(self, value: bool): + return core.Matrix3D() + @initialTransform.setter + def initialTransform(self, value: core.Matrix3D): """ - Gets and sets if any faces that are tangentially connected to any of - the input faces will also be included in setting InputEntities. It defaults to true. + Gets and sets the initial position of the occurrence. + Setting the initial transform is not valid for all occurrences. For instance, this operation could fail if the occurrence is created by a pattern among other cases. + To determine if setting the initial transform is possible, use the isValidForEditInitialPosition property. + If this property returns false, attempting to set the initial transform will result in failure. """ pass @property - def targetBaseFeature(self) -> BaseFeature: + def isVaildForEditInitialPosition(self) -> bool: """ - 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. + Gets whether this occurrence is valid for edit initial position. """ - return BaseFeature() - @targetBaseFeature.setter - def targetBaseFeature(self, value: BaseFeature): + return bool() + @property + def dataComponent(self) -> core.DataComponent: """ - 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. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! - 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. + Gets the DataComponent for the target component in the source component's document. + This only applies for Occurrence's with an assembly context whose source component + is a top level opened design. """ - pass + return core.DataComponent() -class ReplaceFaceFeatures(core.Base): +class OccurrenceList(core.Base): """ - Collection that provides access to all of the existing replace face features in a component - and supports the ability to create new replace face features. + Provides a list of occurrences. """ def __init__(self): pass @staticmethod - def cast(arg) -> ReplaceFaceFeatures: - return ReplaceFaceFeatures() - def item(self, index: int) -> ReplaceFaceFeature: - """ - Function that returns the specified replace face 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 ReplaceFaceFeature() - def createInput(self, sourceFaces: core.ObjectCollection, isTangentChain: bool, targetFaces: core.Base) -> ReplaceFaceFeatureInput: - """ - Creates a ReplaceFaceFeatureInput object. Use properties and methods on this object - to define the replace face you want to create and then use the Add method, passing in - the ReplaceFaceFeatureInput object. - sourceFaces : Input the entities that define the source faces (the faces to be replaced). - The collection can contain the faces from a solid and/or features. All the faces must be on the same body. - isTangentChain : A boolean value for setting whether or not faces that are tangentially connected to - the input faces (if any) will also be included. A value of true indicates that tangent - faces will be included. - targetFaces : Input the entities that define the target faces. The new faces must completely intersect the part. - The collection can contain the surface faces, surface bodies and construction planes. - Returns the newly created ReplaceFaceFeatureInput object or null if the creation failed. - """ - return ReplaceFaceFeatureInput() - def add(self, input: ReplaceFaceFeatureInput) -> ReplaceFaceFeature: + 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: """ - Creates a new replace face feature. - input : A ReplaceFaceFeatureInput object that defines the desired replace face. Use the createInput - method to create a new ReplaceFaceFeatureInput object and then use methods on it - (the ReplaceFaceFeatureInput object) to define the replace face. - Returns the newly created ReplaceFaceFeature object or null if the creation failed. + Returns the specified occurrence using an index into the collection. + index : The index of the occurrence within the collection to return. The first item has an index of 0. + Returns the specified occurrence or null in the case of an invalid index. """ - return ReplaceFaceFeature() - def itemByName(self, name: str) -> ReplaceFaceFeature: + return Occurrence() + def itemByName(self, name: str) -> Occurrence: """ - Function that returns the specified replace face 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. + Returns the specified occurrence using the name of the occurrence. + name : The name of the occurrence to return. + Returns the occurrence or null if an invalid name was specified """ - return ReplaceFaceFeature() + return Occurrence() @property def count(self) -> int: """ - The number of replace face features in the collection. + Returns the number of occurrences in the collection. """ return int() -class ReverseNormalFeatures(core.Base): +class Occurrences(core.Base): """ - Collection that provides access to all of the existing Reverse Normal features in a component - and supports the ability to create new Reverse Normal features. + Provides access to occurrences within a component and provides + methods to create new occurrences. """ def __init__(self): pass @staticmethod - def cast(arg) -> ReverseNormalFeatures: - return ReverseNormalFeatures() - def item(self, index: int) -> ReverseNormalFeature: + 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 Reverse Normal feature using an index into the collection. + Function that returns the specified occurrence 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 ReverseNormalFeature() - def itemByName(self, name: str) -> ReverseNormalFeature: + return Occurrence() + def itemByName(self, name: str) -> Occurrence: """ - Function that returns the specified reverse normal 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. + Returns the specified occurrence using the name of the occurrence. + name : The name of the occurrence to return. + Returns the occurrence or null if an invalid name was specified """ - return ReverseNormalFeature() - def add(self, surfaces: core.ObjectCollection) -> ReverseNormalFeature: + return Occurrence() + def addExistingComponent(self, component: Component, transform: core.Matrix3D) -> Occurrence: """ - Creates a new Reverse Normal feature. - surfaces : One or more surface bodies (open BRepBodies) containing the faces whose normals are to be reversed. - All faces of the input surface bodies get reversed. - Returns the newly created ReverseNormalFeature object or null if the creation failed. + Method that creates a new occurrence using an existing component. This is the equivalent + of copying and pasting an occurrence in the user interface. + component : The existing component to create a new occurrence of. + transform : A transform that defines the location for the new occurrence + Returns the newly created occurrence or null if the creation failed. """ - return ReverseNormalFeature() + return Occurrence() + def addNewComponent(self, transform: core.Matrix3D) -> Occurrence: + """ + Method that creates a new component and an occurrence that references it. + transform : A transform that defines the location for the new occurrence. + Returns the newly created occurrence or null if the creation failed. + """ + return Occurrence() + def addByInsert(self, dataFile: core.DataFile, transform: core.Matrix3D, isReferencedComponent: bool) -> Occurrence: + """ + Method that inserts an existing file. + dataFile : The dataFile to insert. + transform : A transform that defines the location for the new occurrence. + isReferencedComponent : Indicates if the insert is to be an external reference or embedded within this document. + This method will fail if the dataFile being inserted is not from the same project as the document + it is being inserted into while isReferencedComponent is True. + Returns the newly created occurrence or null if the insert failed. + Insert will fail if the dataFile being inserted is not from the same project as the document + it is being inserted into while isReferencedComponent is True. + """ + return Occurrence() + def asArray(self) -> list[Occurrence]: + """ + Get the current list of all occurrences. + The occurrences are returned in the same order as they appear in the browser. + 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() + def addFromConfiguration(self, configurationRow: ConfigurationRow, transform: core.Matrix3D) -> Occurrence: + """ + Method that inserts a configuration from a configured design. + The insert will fail if the configured design being used is not from the same project as the file + it is being inserted into. + configurationRow : The row that specifies which configuration to use. + transform : A transform that defines the location for the new occurrence. + Returns the newly created occurrence or null if the add failed. + """ + return Occurrence() @property def count(self) -> int: """ - The number of Reverse Normal features in the collection. + Returns the number of occurrences in the collection. """ return int() + @property + def asList(self) -> OccurrenceList: + """ + Returns the contents of this collection as an OccurrencesList object. This + is useful when writing a function that traverses an assembly. + """ + return OccurrenceList() -class RevolveFeatureInput(core.Base): +class OffsetConstraintInput(core.Base): """ - This class defines the methods and properties that pertain to the definition of a revolve - feature. + Used to define the inputs needed to create an offset constraint. """ def __init__(self): pass @staticmethod - def cast(arg) -> RevolveFeatureInput: - return RevolveFeatureInput() - def setAngleExtent(self, isSymmetric: bool, angle: core.ValueInput) -> bool: - """ - Defines the extent of the revolution to be at a specified angle. - An angle and whether the extent is symmetric or only in one direction - is specified. If it's not symmetric a positive or negative angle can be - used to control the direction. If symmetric, the angle is the angle on one - side so the entire angle of the revolution will be twice the specified angle. - Use an angle of 360 deg or 2 pi radians to create a full revolve. - isSymmetric : Set to 'true' for a revolve symmetrical about the profile plane - angle : The ValueInput object that defines the angle of the revolution - Returns true if successful - """ - return bool() - def setTwoSideAngleExtent(self, angleOne: core.ValueInput, angleTwo: core.ValueInput) -> bool: - """ - Defines the angle of the revolve to be to applied to both sides of the profile - at the specified angles. - angleOne : The ValueInput object that defines the angle for the first side of the revolution - angleTwo : The ValueInput object that defines the angle for the second side of the revolution - Returns true if successful - """ - return bool() - def setOneSideToExtent(self, toEntity: core.Base, directionHint: core.Vector3D) -> bool: + def cast(arg) -> OffsetConstraintInput: + return OffsetConstraintInput() + @property + def curves(self) -> list[SketchCurve]: """ - Defines the extent of the revolve to be from the sketch or profile plane to the - specified "To" 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 a revolve it can be a BRepBody, BRepFace, - BRepVertex, ConstructionPlane, or ConstructionPoint. - directionHint : Specifies the direction of the revolve. - Returns true if successful. + Gets and sets an array of SketchCurve objects that defines the connected curves that will be offset. + The Sketch.FindConnectedCurves method is a convenient way to get this set of curves. """ - return bool() - def setTwoSideToExtent(self, toEntityOne: core.Base, toEntityTwo: core.Base) -> bool: + return [SketchCurve()] + @curves.setter + def curves(self, value: list[SketchCurve]): """ - Defines the extents of the revolve to be from the sketch plane to specified - faces in both directions. If the matchShape argument is true, the faces to revolve to - are extended to fully intersect the revolve. - 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 a revolve 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 a revolve it can be a BRepBody, BRepFace, - BRepVertex, ConstructionPlane, or ConstructionPoint. - Returns true if successful. + Gets and sets an array of SketchCurve objects that defines the connected curves that will be offset. + The Sketch.FindConnectedCurves method is a convenient way to get this set of curves. """ - return bool() + pass @property - def profile(self) -> core.Base: + def offset(self) -> core.ValueInput: """ - Gets and sets the profiles or planar faces used to define the shape of the revolve. - This property can return or be set with a single Profile, a single planar face, or - an ObjectCollection consisting of multiple profiles and planar faces. When an - ObjectCollection is used all of the profiles and faces must be co-planar. - This property returns null in the case where the feature is non-parametric. + Gets and sets 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 parameter + controlling the offset. A positive offset value creates the offset curve to the "right" and a negative offset + value goes to the "left". - To create a surface (non-solid) revolution, you can use the createOpenProfile and createBRepEdgeProfile - methods of the Component object to create an open profile. The isSolid property of the - RevolveFeatureInput property must also be False. + The flow direction of the provided curves implies the offset direction. For example, if two connected lines + are offset, the flow direction is from line 1 to line 2. Left and right are evaluated relative to the input + geometry. If you are standing on line 1 and looking towards line 2, the offset's left side is on your left, + and the right side is to your right. Closed single curves like circles and ellipses always have a counterclockwise + flow, so a positive offset is always to the outside. For closed splines, the positive direction is based on + the spline's parameterization. """ - return core.Base() - @profile.setter - def profile(self, value: core.Base): + return core.ValueInput() + @offset.setter + def offset(self, value: core.ValueInput): """ - Gets and sets the profiles or planar faces used to define the shape of the revolve. - This property can return or be set with a single Profile, a single planar face, or - an ObjectCollection consisting of multiple profiles and planar faces. When an - ObjectCollection is used all of the profiles and faces must be co-planar. - This property returns null in the case where the feature is non-parametric. + Gets and sets 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 parameter + controlling the offset. A positive offset value creates the offset curve to the "right" and a negative offset + value goes to the "left". - To create a surface (non-solid) revolution, you can use the createOpenProfile and createBRepEdgeProfile - methods of the Component object to create an open profile. The isSolid property of the - RevolveFeatureInput property must also be False. + The flow direction of the provided curves implies the offset direction. For example, if two connected lines + are offset, the flow direction is from line 1 to line 2. Left and right are evaluated relative to the input + geometry. If you are standing on line 1 and looking towards line 2, the offset's left side is on your left, + and the right side is to your right. Closed single curves like circles and ellipses always have a counterclockwise + flow, so a positive offset is always to the outside. For closed splines, the positive direction is based on + the spline's parameterization. """ pass @property - def operation(self) -> FeatureOperations: + def dimensionPoint(self) -> core.Point3D: """ - Gets and sets the type of operation performed by the revolve. + A location on one of the curves where the offset dimension will be created. A value of null can be used to indicate + that a default location should be used. + + When the OffsetContraintInput is created this property defaults to null. """ - return FeatureOperations() - @operation.setter - def operation(self, value: FeatureOperations): + return core.Point3D() + @dimensionPoint.setter + def dimensionPoint(self, value: core.Point3D): """ - Gets and sets the type of operation performed by the revolve. + A location on one of the curves where the offset dimension will be created. A value of null can be used to indicate + that a default location should be used. + + When the OffsetContraintInput is created this property defaults to null. """ pass @property - def axis(self) -> core.Base: + def isTopologyMatched(self) -> bool: """ - Gets and sets the entity used to define the axis of revolution. - The axis can be a sketch line, construction axis, or linear edge. If it is not in - the same plane as the profile, it is projected onto the profile plane. + Specifies if the offset curves must match the topology of the original curves. For example, if you have a sketch + containing two lines with a fillet (arc) connecting them and offset them inward more than the arc radius, the + resulting offset will be two lines. This is a change in topology because the original curves were line-arc-line, + and the offset is line-line. An offset of less than the radius still results in a line-arc-line result. If this + property is true, indicating the topology must match, creating the offset with a value greater than the arc radius + will fail because the result will not have a matching topology. + + When the OffsetConstraintInput is created, this property default to true. """ - return core.Base() - @axis.setter - def axis(self, value: core.Base): + return bool() + @isTopologyMatched.setter + def isTopologyMatched(self, value: bool): """ - Gets and sets the entity used to define the axis of revolution. - The axis can be a sketch line, construction axis, or linear edge. If it is not in - the same plane as the profile, it is projected onto the profile plane. + Specifies if the offset curves must match the topology of the original curves. For example, if you have a sketch + containing two lines with a fillet (arc) connecting them and offset them inward more than the arc radius, the + resulting offset will be two lines. This is a change in topology because the original curves were line-arc-line, + and the offset is line-line. An offset of less than the radius still results in a line-arc-line result. If this + property is true, indicating the topology must match, creating the offset with a value greater than the arc radius + will fail because the result will not have a matching topology. + + When the OffsetConstraintInput is created, this property default to true. """ pass + +class OffsetFacesFeatureInput(core.Base): + """ + Object that represents an existing Offset Faces feature in a design. + Offset Faces features are created in the UI using the "Offset Face" or "Press Pull" command. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> OffsetFacesFeatureInput: + return OffsetFacesFeatureInput() @property - def creationOccurrence(self) -> Occurrence: + def faces(self) -> list[BRepFace]: """ - In order for geometry to be transformed correctly, an Occurrence for creation needs to be - specified when the Revolve is created based on geometry (e.g. a profile and/or face(s)) - in another component AND (the Revolve) is not in the root component. - The CreationOccurrence is analogous to the active occurrence in the UI + An array of BRepFace objects you want to offset. These faces can exist on multiple bodies + and in multiple components. They cannot be in an externally referenced component. """ - return Occurrence() - @creationOccurrence.setter - def creationOccurrence(self, value: Occurrence): + return [BRepFace()] + @faces.setter + def faces(self, value: list[BRepFace]): """ - In order for geometry to be transformed correctly, an Occurrence for creation needs to be - specified when the Revolve is created based on geometry (e.g. a profile and/or face(s)) - in another component AND (the Revolve) is not in the root component. - The CreationOccurrence is analogous to the active occurrence in the UI + An array of BRepFace objects you want to offset. These faces can exist on multiple bodies + and in multiple components. They cannot be in an externally referenced component. """ pass @property - def isSolid(self) -> bool: + def distance(self) -> core.ValueInput: """ - Specifies if the revolution should be created as a solid or surface. If - it's a surface then there aren't any end caps and it's open. This is - initialized to true so a solid will be created if it's not changed. + The distance of the offset. A positive value offsets the faces in the direction of the face + normal. A negative value goes in the other direction. + + This is a ValueInput object that can be created using either createByReal or createByString. + When a real ValueInput is used, the value is centimeters. When a string ValueInput is used, it + defines the expression of the parameter that will be created to control the feature and any + valid expression that defines a distance can be used. """ - return bool() - @isSolid.setter - def isSolid(self, value: bool): + return core.ValueInput() + @distance.setter + def distance(self, value: core.ValueInput): """ - Specifies if the revolution should be created as a solid or surface. If - it's a surface then there aren't any end caps and it's open. This is - initialized to true so a solid will be created if it's not changed. + The distance of the offset. A positive value offsets the faces in the direction of the face + normal. A negative value goes in the other direction. + + This is a ValueInput object that can be created using either createByReal or createByString. + When a real ValueInput is used, the value is centimeters. When a string ValueInput is used, it + defines the expression of the parameter that will be created to control the feature and any + valid expression that defines a distance can be used. """ pass @property @@ -15084,227 +23341,370 @@ 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 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 RevolveFeatures(core.Base): +class OffsetFacesFeatures(core.Base): """ - Collection that provides access to all of the existing revolve features in a design - and supports the ability to create new revolve features. + Collection that provides access to all of the existing Offset Faces features in a design. + Offset Face features are created in the UI using the "Offset Face" or "Press Pull" command. """ def __init__(self): pass @staticmethod - def cast(arg) -> RevolveFeatures: - return RevolveFeatures() - def item(self, index: int) -> RevolveFeature: + 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 revolve feature using an index into the collection. + Function that returns the specified Offset Face 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 RevolveFeature() - def createInput(self, profile: core.Base, axis: core.Base, operation: FeatureOperations) -> RevolveFeatureInput: + return OffsetFacesFeature() + def itemByName(self, name: str) -> OffsetFacesFeature: """ - Creates a new RevolveFeatureInput object that is used to specify the input needed - to create a new revolve feature. - profile : The profile argument can be a single Profile, a single - planar face, or an ObjectCollection consisting of multiple profiles and planar faces. - When an ObjectCollection is used all of the profiles and faces must be co-planar. - - To create a surface (non-solid) revolution, 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 RevolveFeatureInput property to False. - axis : The axis can be a sketch line, construction axis, or linear edge. If it is not in - the same plane as the profile, it is projected onto the profile plane. - operation : The operation type to perform. - Returns the newly created RevolveFeatureInput object or null if the creation failed. + Function that returns the specified Offset Face feature using the name of the feature. + Offset Face features are created in the UI using the "Press Pull" command. + 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 RevolveFeatureInput() - def add(self, input: RevolveFeatureInput) -> RevolveFeature: + return OffsetFacesFeature() + def createInput(self, faces: list[BRepFace], distance: core.ValueInput) -> OffsetFacesFeatureInput: """ - Creates a new revolve feature based on the information provided by the provided - RevolveFeatureInput object. - To create a new revolve, use the createInput function to create a new input object - and then use the methods and properties on that object to define the required input - for a revolve. Once the information is defined on the input object you can pass it - to the Add method to create the revolve. - input : The RevolveFeatureInput object that specifies the input needed to create a new extrude - Returns the newly created RevolveFeature or null if the creation failed. + Creates an OffsetFacesFeatureInput 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 + the OffsetFacesFeatureInput object to create the feature. + faces : An array of BRepFace objects to offset. These faces can exist on multiple bodies + and in multiple components. They cannot be in an externally referenced component. + distance : The distance of the offset. A positive value offsets the faces in the direction of the face + normal. A negative value goes in the other direction. + + This is a ValueInput object that can be created using either createByReal or createByString. + When a real ValueInput is used, the value is centimeters. When a string ValueInput is used, it + defines the expression of the parameter that will be created to control the feature and any + valid expression that defines a distance can be used. + Returns the newly created OffsetFacesFeatureInput object or null if the creation failed. """ - return RevolveFeature() - def itemByName(self, name: str) -> RevolveFeature: + return OffsetFacesFeatureInput() + def add(self, input: OffsetFacesFeatureInput) -> OffsetFacesFeature: """ - Function that returns the specified revolve 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. + Creates a new offset feature. + input : An OffsetFacesFeatureInput object that defines the desired offset faces feature. Use the + createInput method to create a new OffsetFacesFeatureInput object and then use methods on it + (the OffsetFacesFeatureInput object) to define the offset feature. + Returns the newly created OffsetFacesFeature object or null if the creation failed. + Returns nothing in the case where the feature is non-parametric. """ - return RevolveFeature() + return OffsetFacesFeature() @property def count(self) -> int: """ - The number of revolve features in the collection. + The number of Offset Face features in the collection. + Offset Face features are created in the UI using the "Press Pull" command. """ return int() -class RibFeatures(core.Base): +class OffsetFeatureInput(core.Base): """ - Collection that provides access to all of the existing rib features in a design. + This class defines the methods and properties that pertain to the definition of an offset feature. """ def __init__(self): pass @staticmethod - def cast(arg) -> RibFeatures: - return RibFeatures() - def item(self, index: int) -> RibFeature: + def cast(arg) -> OffsetFeatureInput: + return OffsetFeatureInput() + @property + def entities(self) -> core.ObjectCollection: """ - Function that returns the specified Rib 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. + An ObjectCollection containing the BRepFace objects being offset. """ - return RibFeature() - def itemByName(self, name: str) -> RibFeature: + return core.ObjectCollection() + @entities.setter + def entities(self, value: core.ObjectCollection): """ - Function that returns the specified Rib 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. + An ObjectCollection containing the BRepFace objects being offset. """ - return RibFeature() + pass + @property + def isChainSelection(self) -> bool: + """ + Get and sets whether faces that are tangentially connected to the input faces will be included in the offset. + """ + return bool() + @isChainSelection.setter + def isChainSelection(self, value: bool): + """ + Get and sets whether faces that are tangentially connected to the input faces will be included in the offset. + """ + pass + @property + def distance(self) -> core.ValueInput: + """ + Gets and sets the ValueInput object that defines the offset distance. A positive distance value results + in an offset in the positive normal direction of the faces. + """ + return core.ValueInput() + @distance.setter + def distance(self, value: core.ValueInput): + """ + Gets and sets the ValueInput object that defines the offset distance. A positive distance value results + in an offset in the positive normal direction of the faces. + """ + pass + @property + def operation(self) -> FeatureOperations: + """ + Gets and sets the feature operation to perform. Can be 'NewBodyFeatureOperation' or 'NewComponentFeatureOperation'. + """ + return FeatureOperations() + @operation.setter + def operation(self, value: FeatureOperations): + """ + Gets and sets the feature operation to perform. Can be 'NewBodyFeatureOperation' or 'NewComponentFeatureOperation'. + """ + 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 OffsetFeatures(core.Base): + """ + Collection that provides access to all of the existing Offset features in a component + and supports the ability to create new Offset features. + """ + def __init__(self): + pass + @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. + 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 OffsetFeature() + def createInput(self, entities: core.ObjectCollection, distance: core.ValueInput, operation: FeatureOperations, isChainSelection: bool = True) -> OffsetFeatureInput: + """ + Creates an 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 + the OffsetFeatureInput object to create the feature. + entities : An ObjectCollection containing the BRepFace objects to offset. Additional faces may be + automatically used depending on the value of the isChainSelection argument. + Input faces need not be from the same body. + distance : ValueInput object that defines the offset distance. A positive value is in the positive + normal direction of the face being offset. + operation : The feature operation to perform. 'NewBodyFeatureOperation' and 'NewComponentFeatureOperation' are the + options supported. + isChainSelection : A boolean value for setting whether or not faces that are tangentially connected to + the input faces (if any) will be included in the offset. The default value is true. + Returns the newly created OffsetFeatureInput object or null if the creation failed. + """ + return OffsetFeatureInput() + def add(self, input: OffsetFeatureInput) -> OffsetFeature: + """ + Creates a new offset feature. + input : A FeatureInput object that defines the desired offset feature. Use the createInput + method to create a new OffsetFeatureInput object and then use methods on it + (the OffsetFeatureInput object) to define the offset feature. + Returns the newly created OffsetFeature object or null if the creation failed. + """ + return OffsetFeature() + def itemByName(self, name: str) -> OffsetFeature: + """ + Function that returns the specified offset 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 OffsetFeature() @property def count(self) -> int: """ - The number of Rib features in the collection. + The number of Offset features in the collection. """ return int() -class RigidGroup(core.Base): +class Parameter(core.Base): """ - Represents a rigid group within an assembly. + The base class Parameter object that can represent model or user parameters. """ def __init__(self): pass @staticmethod - def cast(arg) -> RigidGroup: - return RigidGroup() - def deleteMe(self) -> bool: + def cast(arg) -> Parameter: + return Parameter() + @property + def value(self) -> float: """ - Deletes this rigid group. - Returns True if the delete was successful. + Gets and sets the real value (a double) of the parameter in database units. + Setting this property will set/reset the expression value for this parameter. + + This property is only valid for numeric parameters and will fail for text parameters. + You can determine the value type of the parameter by using the valueType property. + Use the textValue property to get and set the value of text parameters. """ - return bool() - def setOccurrences(self, occurrences: core.ObjectCollection, includeChildren: bool) -> bool: + return float() + @value.setter + def value(self, value: float): """ - Sets which occurrences are to be part of this rigid group. + Gets and sets the real value (a double) of the parameter in database units. + Setting this property will set/reset the expression value for this parameter. - To use this method, you need to position the timeline marker to immediately before this group. - This can be accomplished using the following code: group.timelineObject.rollTo(True) - occurrences : An ObjectCollection containing the occurrences to use in creating the rigid group. - includeChildren : Boolean indicating if the children of the input occurrences should be included in the rigid group. - Returns true if successful. + This property is only valid for numeric parameters and will fail for text parameters. + You can determine the value type of the parameter by using the valueType property. + Use the textValue property to get and set the value of text parameters. """ - return bool() - def createForAssemblyContext(self, occurrence: Occurrence) -> RigidGroup: + pass + @property + def expression(self) -> str: """ - 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. + Gets and sets the expression used to calculate the value of the parameter. This is the + equivalent of the "Expression" column in the Parameters dialog. Numeric parameters can + be defined by a simple expression like "6.25", which will be interpreted based on whatever the + default units are for the document. For example, if the units are set to millimeters, + the value will be 6.25 mm; if the units are inches, it will be 6.25 inches. The expression + can also contain the units so "6.25 in" will always be evaluated as inches regardless + of the document units. + + An expression can also contain references to other parameters and use equations. + For example, the expression "Length / 2" is valid for a numeric parameter as long as + there is a numeric parameter named "Length". Expressions can also be used for text parameters, + such as concatenating two other text parameters. For example, if there are two existing text + parameters named text1 and text2, the expression for another text parameter can be "text1 + text2". + More complex equations can also be used with text parameters like + "if (Length < 20 mm; 'Short'; 'Long')" where "Length" is a numeric parameter. + The resulting string can be obtained using the textValue property. """ - return RigidGroup() - @property - def parentComponent(self) -> Component: + return str() + @expression.setter + def expression(self, value: str): """ - Returns the parent component that owns this rigid group. + Gets and sets the expression used to calculate the value of the parameter. This is the + equivalent of the "Expression" column in the Parameters dialog. Numeric parameters can + be defined by a simple expression like "6.25", which will be interpreted based on whatever the + default units are for the document. For example, if the units are set to millimeters, + the value will be 6.25 mm; if the units are inches, it will be 6.25 inches. The expression + can also contain the units so "6.25 in" will always be evaluated as inches regardless + of the document units. + + An expression can also contain references to other parameters and use equations. + For example, the expression "Length / 2" is valid for a numeric parameter as long as + there is a numeric parameter named "Length". Expressions can also be used for text parameters, + such as concatenating two other text parameters. For example, if there are two existing text + parameters named text1 and text2, the expression for another text parameter can be "text1 + text2". + More complex equations can also be used with text parameters like + "if (Length < 20 mm; 'Short'; 'Long')" where "Length" is a numeric parameter. + The resulting string can be obtained using the textValue property. """ - return Component() + pass @property def name(self) -> str: """ - Gets and sets the name of the rigid group as seen in the timeline. + Gets and sets the name of the parameter. Setting the name can fail if the name + is not unique with respect to all other parameters in the design. """ return str() @name.setter def name(self, value: str): """ - Gets and sets the name of the rigid group as seen in the timeline. + Gets and sets the name of the parameter. Setting the name can fail if the name + is not unique with respect to all other parameters in the design. """ pass @property - def occurrences(self) -> OccurrenceList: + def unit(self) -> str: """ - Returns the list of occurrences that are part of the rigid group. + The unit type associated with this parameter. An empty string is returned for parameters + that don't have a unit type. """ - return OccurrenceList() + return str() @property - def timelineObject(self) -> TimelineObject: + def comment(self) -> str: """ - Returns the timeline object associated with this rigid group. + The comment associated with this parameter """ - return TimelineObject() + return str() + @comment.setter + def comment(self, value: str): + """ + The comment associated with this parameter + """ + pass @property - def isSuppressed(self) -> bool: + def isFavorite(self) -> bool: """ - Gets and sets if this rigid group is suppressed. + Gets and sets whether this parameter is included in the Favorites list in the + parameters dialog """ return bool() - @isSuppressed.setter - def isSuppressed(self, value: bool): + @isFavorite.setter + def isFavorite(self, value: bool): """ - Gets and sets if this rigid group is suppressed. + Gets and sets whether this parameter is included in the Favorites list in the + parameters dialog """ pass @property - def nativeObject(self) -> RigidGroup: + def dependentParameters(self) -> ParameterList: """ - 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. + Returns a list of parameters that are dependent on this parameter as a result + of this parameter being referenced in their equation. """ - return RigidGroup() + return ParameterList() @property - def assemblyContext(self) -> Occurrence: + def isDeletable(self) -> bool: """ - 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. + Gets if this parameter can be deleted. Parameters that have dependents cannot + be deleted, and model parameters typically cannot be deleted. However, + there is the possibility in uncommon workflows where a model parameter no longer + has any dependents, and it was not automatically deleted. In this case, this + property will return true, and the deleteMe method can delete the parameter. """ - return Occurrence() + return bool() @property def attributes(self) -> core.Attributes: """ - Returns the collection of attributes associated with this rigid group. + Returns the collection of attributes associated with this face. """ return core.Attributes() @property def entityToken(self) -> str: """ - Returns a token for the RigidGroup object. This can be saved and used at a later - time with the Design.findEntityByToken method to get back the same rigid group. + Returns a token for the Parameter object. This can be saved and used at a later + time with the Design.findEntityByToken method to get back the same parameter. 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 @@ -15314,205 +23714,226 @@ def entityToken(self) -> str: method to get the two entities identified by the tokens and then compare them. """ return str() - -class RigidGroupList(core.Base): - """ - A list of rigid groups. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> RigidGroupList: - return RigidGroupList() - def item(self, index: int) -> RigidGroup: + @property + def dependencyParameters(self) -> ParameterList: """ - Function that returns the specified rigid group using an index into the list. - index : The index of the item within the list to return. The first item in the list has an index of 0. - Returns the specified item or null if an invalid index was specified. + Returns a list of parameters that this parameter is dependent on. """ - return RigidGroup() - def itemByName(self, name: str) -> RigidGroup: + return ParameterList() + @property + def textValue(self) -> str: """ - Function that returns the specified rigid group using a name. - name : The name of the item within the list to return. - Returns the specified item or null if an invalid name was specified. + Gets and sets the value of the parameter when it is a text parameter. This can be + determined by checking the valueType property. Setting this value + will cause the current expression to be overwritten. If the parameter + is not a text parameter, the value of this property should be ignored and setting will fail. """ - return RigidGroup() + return str() + @textValue.setter + def textValue(self, value: str): + """ + Gets and sets the value of the parameter when it is a text parameter. This can be + determined by checking the valueType property. Setting this value + will cause the current expression to be overwritten. If the parameter + is not a text parameter, the value of this property should be ignored and setting will fail. + """ + pass @property - def count(self) -> int: + def valueType(self) -> ParameterValueTypes: """ - Returns number of rigid groups in the list. + Returns the type of value this parameter is. For a numeric parameter, you can + get the value using the value property. For a text parameter, you can get the + value using the textValue property. """ - return int() + return ParameterValueTypes() -class RigidGroups(core.Base): +class ParameterList(core.Base): """ - The collection of rigid groups in this component. This provides access to all existing - rigid groups and supports the ability to create new rigid groups. + Transient object used to pass a set of parameters. """ def __init__(self): pass @staticmethod - def cast(arg) -> RigidGroups: - return RigidGroups() - def item(self, index: int) -> RigidGroup: + 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: """ - Function that returns the specified rigid group using an index into the collection. + Creates a parameter list that the client can use for various purposes. + Use ParameterList.Add to add parameters to the list after creating it. + Returns a ParameterList + """ + return ParameterList() + def item(self, index: int) -> Parameter: + """ + Function that returns the specified parameter 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 RigidGroup() - def itemByName(self, name: str) -> RigidGroup: + return Parameter() + def itemByName(self, name: str) -> Parameter: """ - Function that returns the specified rigid group using a name. - name : The name of the item within the collection to return. + Returns the specified parameter using the name of the parameter + as it is displayed in the parameters dialog + name : The name of the parameter as it is displayed in the parameters dialog Returns the specified item or null if an invalid name was specified. """ - return RigidGroup() - def add(self, occurrences: core.ObjectCollection, includeChildren: bool) -> RigidGroup: - """ - Creates a new rigid group. - occurrences : An ObjectCollection containing the occurrences to use in creating the rigid group. - includeChildren : Boolean indicating if the children of the input occurrences should be included in the rigid group. - Returns the new RigidGroup object or null in the case of failure. - """ - return RigidGroup() - @property - def count(self) -> int: + return Parameter() + def add(self, parameter: Parameter) -> bool: """ - Returns number of joint origins in the collection. + Adds a parameter to the list. This does not create a + new parameter, it adds an existing parameter to the list. + Note that duplicates can exist in the list. + parameter : The existing parameter to add to the list + Returns true if successful. This method will fail if the list is read-only """ - return int() - -class RuledSurfaceFeatureInput(core.Base): - """ - This class defines the methods and properties that pertain to the definition of a Ruled Surface feature. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> RuledSurfaceFeatureInput: - return RuledSurfaceFeatureInput() - @property - def profile(self) -> core.Base: + return bool() + def removeByIndex(self, index: int) -> bool: """ - Gets and sets the Profile object that defines the sketch geometry or edges that define the shape of - the ruled surface. The Component.createBRepEdgeProfile method is useful to create a profile defined from edges. + Method that removes a parameter from the list using the index of the item + in the list + Will fail if the list is read only. + index : The index of the parameter to be removed from the list + Returns true if successful. This method will fail if the list is read-only """ - return core.Base() - @profile.setter - def profile(self, value: core.Base): + return bool() + def removeByItem(self, item: Parameter) -> bool: """ - Gets and sets the Profile object that defines the sketch geometry or edges that define the shape of - the ruled surface. The Component.createBRepEdgeProfile method is useful to create a profile defined from edges. + Method that removes a parameter from the list by specifying the parameter (item) + to remove + item : The parameter item to remove from the list + Returns true if successful. This method will fail if the list is read-only """ - pass - @property - def creationOccurrence(self) -> Occurrence: + return bool() + def find(self, parameter: Parameter, startIndex: int = 0) -> int: """ - In order for geometry to be transformed correctly, an Occurrence for creation needs to be - specified when the Ruled Surface is created based on geometry (e.g. a profile) - in another component AND (the Ruled Surface) is not in the root component. - The CreationOccurrence is analogous to the active occurrence in the UI + Finds the specified parameter in the list. The search can be started at a specified + index rather than from the beginning of the list. + If not found, -1 is returned. + parameter : The parameter to find + startIndex : the index in the list to start the search from + Returns the index of the parameter found in the list. """ - return Occurrence() - @creationOccurrence.setter - def creationOccurrence(self, value: Occurrence): + return int() + def contains(self, parameter: Parameter) -> bool: """ - In order for geometry to be transformed correctly, an Occurrence for creation needs to be - specified when the Ruled Surface is created based on geometry (e.g. a profile) - in another component AND (the Ruled Surface) is not in the root component. - The CreationOccurrence is analogous to the active occurrence in the UI + Indicates whether or not ParameterList collection contains a specified parameter + parameter : The parameter to look for in the list + Returns true if list contains the specified parameter """ - pass + return bool() @property - def distance(self) -> core.ValueInput: - """ - Gets and sets the ValueInput object that defines the Ruled Surface distance. If the value input is - a real value it will define the distance in centimeters. - """ - return core.ValueInput() - @distance.setter - def distance(self, value: core.ValueInput): + def count(self) -> int: """ - Gets and sets the ValueInput object that defines the Ruled Surface distance. If the value input is - a real value it will define the distance in centimeters. + Returns the number of parameters in the collection. """ - pass + return int() @property - def angle(self) -> core.ValueInput: - """ - Gets and sets the ValueInput object that defines the Ruled Surface angle. - If the input is a real value, the units are radians. - """ - return core.ValueInput() - @angle.setter - def angle(self, value: core.ValueInput): + def isReadOnly(self) -> bool: """ - Gets and sets the ValueInput object that defines the Ruled Surface angle. - If the input is a real value, the units are radians. + Indicates if the list is read-only + Some lists returned by API calls (instead of lists created by the + user) are read only. Items cannot be added or remove from such a list. """ + return bool() + +class PatchFeatureInput(core.Base): + """ + This class defines the methods and properties that pertain to the definition of a patch feature. + """ + def __init__(self): pass - @property - def ruledSurfaceType(self) -> RuledSurfaceTypes: - """ - Gets and sets the type of ruled surface to create. To set this to DirectionRuledSurfaceType, - use the direction property to set the direction entity, which will automatically set - this to DirectionRuledSurfaceType. + @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 RuledSurfaceTypes() - @ruledSurfaceType.setter - def ruledSurfaceType(self, value: RuledSurfaceTypes): + return bool() + def getContinuity(self) -> tuple[bool, list[BRepEdge], list[int], list[float], list[bool]]: """ - Gets and sets the type of ruled surface to create. To set this to DirectionRuledSurfaceType, - use the direction property to set the direction entity, which will automatically set - this to DirectionRuledSurfaceType. + 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. """ - pass + return (bool(), [BRepEdge()], [int()], [float()], [bool()]) @property - def direction(self) -> core.Base: + def boundaryCurve(self) -> core.Base: """ - Gets and sets the entity that defines the direction when the ruled surface type is DirectionRuledSurfaceType. - The direction is specified by providing a linear or planar entity. For example, a linear edge, construction axis, - planar face, or construction plane can be used as input. + 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 this property is set when the ruledSurfaceType is not DirectionRuledSurfaceType, the type will automatically be - changed to DirectionRuledSurfaceType. If you get this property when the direction is not DirectionRuledSurfaceType, - it will return null. + 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 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() - @direction.setter - def direction(self, value: core.Base): + @boundaryCurve.setter + def boundaryCurve(self, value: core.Base): """ - Gets and sets the entity that defines the direction when the ruled surface type is DirectionRuledSurfaceType. - The direction is specified by providing a linear or planar entity. For example, a linear edge, construction axis, - planar face, or construction plane can be used as input. + 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 this property is set when the ruledSurfaceType is not DirectionRuledSurfaceType, the type will automatically be - changed to DirectionRuledSurfaceType. If you get this property when the direction is not DirectionRuledSurfaceType, - it will return null. + 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 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. """ pass @property - def alternateFace(self) -> bool: + def operation(self) -> FeatureOperations: """ - Gets and sets if the other face is used for creation of the Ruled Surface. - When creating a ruled surface using the edges of a solid or the interior edges - of a surface the angle of the ruled surface is measured with respect to the - face the selected edge is bounding. For a solid, or an interior edge on a surface, - the edge connects to two faces. This setting toggles which of the two faces will - be used for measuring the angle. + Gets and sets the type of operation performed by the patch feature. Only 'NewBodyFeatureOperation' and 'NewComponentFeatureOperation' are + valid operations for patch features. """ - return bool() - @alternateFace.setter - def alternateFace(self, value: bool): + return FeatureOperations() + @operation.setter + def operation(self, value: FeatureOperations): """ - Gets and sets if the other face is used for creation of the Ruled Surface. - When creating a ruled surface using the edges of a solid or the interior edges - of a surface the angle of the ruled surface is measured with respect to the - face the selected edge is bounding. For a solid, or an interior edge on a surface, - the edge connects to two faces. This setting toggles which of the two faces will - be used for measuring the angle. + Gets and sets the type of operation performed by the patch feature. Only 'NewBodyFeatureOperation' and 'NewComponentFeatureOperation' are + valid operations for patch features. """ pass @property @@ -15542,365 +23963,488 @@ def targetBaseFeature(self, value: BaseFeature): """ pass @property - def operation(self) -> FeatureOperations: + def creationOccurrence(self) -> Occurrence: """ - Gets and sets the type of operation performed by the ruled surface. + 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 """ - return FeatureOperations() - @operation.setter - def operation(self, value: FeatureOperations): + return Occurrence() + @creationOccurrence.setter + def creationOccurrence(self, value: Occurrence): """ - Gets and sets the type of operation performed by the ruled surface. + 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 cornerType(self) -> RuledSurfaceCornerTypes: + def interiorRailsAndPoints(self) -> core.ObjectCollection: """ - Gets and sets the corner type for the ruled surface, indicating if the corners will be rounded or mitered. - The default value is rounded. + 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 RuledSurfaceCornerTypes() - @cornerType.setter - def cornerType(self, value: RuledSurfaceCornerTypes): + return core.ObjectCollection() + @interiorRailsAndPoints.setter + def interiorRailsAndPoints(self, value: core.ObjectCollection): """ - Gets and sets the corner type for the ruled surface, indicating if the corners will be rounded or mitered. - The default value is rounded. + 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 - -class RuledSurfaceFeatures(core.Base): - """ - Collection that provides access to all of the existing Ruled Surface features in a component - and supports the ability to create new Ruled Surface features. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> RuledSurfaceFeatures: - return RuledSurfaceFeatures() - def item(self, index: int) -> RuledSurfaceFeature: + @property + def isGroupEdges(self) -> bool: """ - Function that returns the specified ruled surface 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. + 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 RuledSurfaceFeature() - def createInput(self, profile: core.Base, distance: core.ValueInput, angle: core.ValueInput, ruledSurfaceType: RuledSurfaceTypes, direction: core.Base) -> RuledSurfaceFeatureInput: + return bool() + @isGroupEdges.setter + def isGroupEdges(self, value: bool): """ - 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. - profile : A Profile object that defines the sketch geometry or edges that define the shape of the ruled surface. The Component.createBRepEdgeProfile - method is useful to create a profile defined from edges. - distance : ValueInput object that defines the extension distance of the Ruled Surface.. - angle : ValueInput object that defines angle to use when creating the Ruled Surface. When the input is a real value, the units are radians. - ruledSurfaceType : The Ruled Surface type (TangentRuledSurfaceType, NormalRuledSurfaceType, or DirectionRuledSurfaceType). - direction : If the ruled surface type is DirectionRuledSurfaceType, you must specify the direction. The direction is specified by - providing a linear or planar entity. For example, a linear edge, construction axis, planar face, or construction plane can be used as input. - Returns the newly created RuledSurfaceFeatureInput object or null if the creation failed. + 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 RuledSurfaceFeatureInput() - def add(self, input: RuledSurfaceFeatureInput) -> RuledSurfaceFeature: + pass + @property + def groupContinuity(self) -> SurfaceContinuityTypes: """ - Creates a new RuledSurface feature. - input : An RuledSurfaceFeatureInput object that defines the desired RuledSurface feature. Use the createInput - method to create a new RuledSurfaceFeatureInput object and then use methods on it - (the RuledSurfaceFeatureInput object) to define the desired options for the ruled surface feature. - Returns the newly created RuledSurfaceFeature object or null if the creation failed. + 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 RuledSurfaceFeature() - def itemByName(self, name: str) -> RuledSurfaceFeature: + return SurfaceContinuityTypes() + @groupContinuity.setter + def groupContinuity(self, value: SurfaceContinuityTypes): """ - Function that returns the specified RuledSurface 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. + 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 RuledSurfaceFeature() + pass @property - def count(self) -> int: + def groupWeight(self) -> float: """ - The number of RuledSurface features in the collection. + 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 int() + 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 RuleFilletFeatures(core.Base): +class PatchFeatures(core.Base): """ - Collection that provides access to all of the existing rule fillet features in a design. + Collection that provides access to all of the existing Patch features in a component + and supports the ability to create new Patch features. """ def __init__(self): pass @staticmethod - def cast(arg) -> RuleFilletFeatures: - return RuleFilletFeatures() - def item(self, index: int) -> RuleFilletFeature: + 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 rule fillet feature using an index into the collection. + Function that returns the specified patch 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 RuleFilletFeature() - def itemByName(self, name: str) -> RuleFilletFeature: + return PatchFeature() + def itemByName(self, name: str) -> PatchFeature: """ - Function that returns the specified rule fillet feature using the name of the feature. + Function that returns the specified patch 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 RuleFilletFeature() + return 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 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, an ObjectCollection, or a Path object. + + If a single sketch curve or B-Rep edge is an input that is not closed; Fusion will automatically find connected sketch curves + or B-Rep edges to define a closed loop. + + If an ObjectCollection is an input, it must be a set of curves that define a closed shape. + + 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 fails. + """ + return PatchFeatureInput() + def add(self, input: PatchFeatureInput) -> PatchFeature: + """ + Creates a new patch feature. + input : A PatchFeatureInput object that defines the desired patch feature. Use the createInput + method to create a new PatchFeatureInput object and then use methods on it + (the PatchFeatureInput object) to define the patch feature. + Returns the newly created PatchFeature object or null if the creation failed. + """ + return PatchFeature() @property def count(self) -> int: """ - The number of rule fillet features in the collection. + The number of Patch features in the collection. """ return int() -class ScaleFeatureInput(core.Base): +class Path(core.Base): """ - This class defines the methods and properties that pertain to the definition of a scale - feature. + The Path object represents a single set of connected curves. The order of the objects within the collection is the same as the connection order of the entities. + When using a Path to create a feature, the Path serves as a way to pass in the set of sketch entities and edges. When + getting the Path of an existing feature it returns the actual path used to define the feature geometry. In cases like a + sweep feature, this can result in using portions of the original input sketch curves or edges and the returned path + will provide these "partial" curves as the PathEntity objects. """ def __init__(self): pass @staticmethod - def cast(arg) -> ScaleFeatureInput: - return ScaleFeatureInput() - def setToNonUniform(self, xScale: core.ValueInput, yScale: core.ValueInput, zScale: core.ValueInput) -> bool: + 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: """ - Sets the scale factor for the x, y, z directions to define a non-uniform scale. - Calling this method will cause the isUniform property to be set to false. - This will fail if the inputEntities collection contains sketches or components. - xScale : A ValueInput object that defines the scale in the X direction. - yScale : A ValueInput object that defines the scale in the Y direction. - zScale : A ValueInput object that defines the scale in the Z direction. - Returns true if successful. + Creates a new Path that can be used as input to various features. For example, it is used + to create an open set of curves to create surfaces using extrude, revolve, and sweep. + It is also used to create the path for a sweep and sections and profiles and rails for lofts. And + it is used to define the boundary of a patch feature. + + Although the creation of a path is very flexible as far as the types of entities and whether they + are planar or not, each of the features have specific requirements and the path must meet those + requirements. For example, a path for an extrusion can only contain sketch curves and must be planar, + whereas the path for a sweep can contain a mix of sketch curves and edges and can be in three dimensions. + curves : A SketchCurve, BRepEdge, or an ObjectCollection containing multiple sketch entities and/or BRepEdges. If a single sketch curve + or BRepEdge is input the chainCurves argument is used to determine if connected curves or edges (they do not need to be tangent) + should be automatically found. Searching for connected curves is only performed within the same sketch or open edges on the same + body. If multiple curves are provided the chainCurves argument is treated as false so only the specified input curves are + used. The input curves need to geometrically connect for a path to be created. + chainOptions : If a single SketchCurve or BRepEdge is input, this argument is used to specify the rules in how chained entities should be found. If + an ObjectCollection is input, this argument is ignored. + Returns the new Path object or null in the case of a failure. + """ + return Path() + def item(self, index: int) -> PathEntity: + """ + Function that returns the specified PathEntity 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 PathEntity() + def createForAssemblyContext(self, occurrence: Occurrence) -> Path: + """ + 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 : + Returns the proxy object or null if this isn't the NativeObject. + """ + return Path() + def addCurves(self, curves: core.Base, chainOptions: ChainedCurveOptions) -> bool: + """ + Adds additional curves to the existing path. This can be useful when creating a complex path for a sweep and you + want to include sets of curves from multiple sketches and edges from multiple bodies. + curves : A SketchCurve, BRepEdge, or an ObjectCollection containing multiple sketch entities and/or BRepEdges. If a single sketch curve + or BRepEdge is input the chainCurves argument is used to determine if connected curves or edges (they do not need to be tangent) + should be automatically found. Searching for connected curves is only performed within the same sketch or open edges on the same + body. If multiple curves are provided the chainCurves argument is treated as false so only the specified input curves are + used. The input curves need to geometrically connect for a path to be created. + chainOptions : If a single SketchCurve or BRepEdge is input, this argument is used to specify the rules in how chained entities should be found. If + an ObjectCollection is input, this argument is ignored. + Returns a bool indicating if the process was successful or not. """ return bool() @property - def inputEntities(self) -> core.ObjectCollection: + def count(self) -> int: """ - Gets and sets the input entities. - This collection can contain sketches, BRep bodies and T-Spline bodies in parametric modeling. - It can contain sketches, BRep bodies, T-Spline bodies, mesh bodies, root component and occurrences in non-parametric modeling. - If the scaling is non-uniform (the isUniform property is false), this collection cannot contain sketches or components. + The number of curves in the path. """ - return core.ObjectCollection() - @inputEntities.setter - def inputEntities(self, value: core.ObjectCollection): + return int() + @property + def isClosed(self) -> bool: """ - Gets and sets the input entities. - This collection can contain sketches, BRep bodies and T-Spline bodies in parametric modeling. - It can contain sketches, BRep bodies, T-Spline bodies, mesh bodies, root component and occurrences in non-parametric modeling. - If the scaling is non-uniform (the isUniform property is false), this collection cannot contain sketches or components. + Indicates if the path is closed or not. Returns True in the case of a closed path. """ - pass + return bool() @property - def point(self) -> core.Base: + def assemblyContext(self) -> Occurrence: """ - Gets and sets the origin point of the scale. This can be a BRepVertex, a SketchPoint or a ConstructionPoint. + This property is not supported for the Path object. """ - return core.Base() - @point.setter - def point(self, value: core.Base): + return Occurrence() + @property + def nativeObject(self) -> Path: """ - Gets and sets the origin point of the scale. This can be a BRepVertex, a SketchPoint or a ConstructionPoint. + This property is not supported for the Path object. """ + return Path() + +class PathEntity(core.Base): + """ + The PathEntity object represents a curve within a path + """ + def __init__(self): pass - @property - def scaleFactor(self) -> core.ValueInput: + @staticmethod + def cast(arg) -> PathEntity: + return PathEntity() + def createForAssemblyContext(self, occurrence: Occurrence) -> PathEntity: """ - Gets and sets the scale factor used for a uniform scale. - Setting this value will cause the isUniform property to be set to true. + 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 : + Returns the proxy object or null if this isn't the NativeObject. """ - return core.ValueInput() - @scaleFactor.setter - def scaleFactor(self, value: core.ValueInput): + return PathEntity() + @property + def curve(self) -> core.Curve3D: """ - Gets and sets the scale factor used for a uniform scale. - Setting this value will cause the isUniform property to be set to true. + Property that returns the geometry of the entity. + This is different from the original path curve if the true start point is not the same as the start point of the original path curve. """ - pass + return core.Curve3D() @property - def isUniform(self) -> bool: + def curveType(self) -> core.Curve3DTypes: """ - Gets if the scale is uniform. + Property that returns the type of the curve referenced by the path entity. This property allows you to determine what type of object will be returned by the Curve property. """ - return bool() + return core.Curve3DTypes() @property - def xScale(self) -> core.ValueInput: + def entity(self) -> core.Base: """ - Gets the scale in X direction. + Property that gets the sketch curve or edge this entity was derived from. """ - return core.ValueInput() + return core.Base() @property - def yScale(self) -> core.ValueInput: + def parentPath(self) -> Path: """ - Gets the scale in Y direction. + Property that returns the parent Path of the entity. """ - return core.ValueInput() + return Path() @property - def zScale(self) -> core.ValueInput: + def assemblyContext(self) -> Occurrence: """ - Gets the scale in Z direction. + This property is not supported for a PathEntity object. """ - return core.ValueInput() + return Occurrence() @property - def targetBaseFeature(self) -> BaseFeature: + def nativeObject(self) -> PathEntity: """ - 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. + This property is not supported for a PathEntity object. """ - return BaseFeature() - @targetBaseFeature.setter - def targetBaseFeature(self, value: BaseFeature): + return PathEntity() + @property + def isOpposedToEntity(self) -> bool: """ - 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. + Indicates if the orientation of this PathEntity is in the same direction or opposed to the natural direction + of the SketchCurve or BRepEdge object it is derived from. """ - pass + return bool() -class ScaleFeatures(core.Base): +class PathPatternFeatureInput(core.Base): """ - Collection that provides access to all of the existing scale features in a component - and supports the ability to create new scale features. + This class defines the methods and properties that pertain to the definition of a path pattern + feature. """ def __init__(self): pass @staticmethod - def cast(arg) -> ScaleFeatures: - return ScaleFeatures() - def item(self, index: int) -> ScaleFeature: + def cast(arg) -> PathPatternFeatureInput: + return PathPatternFeatureInput() + @property + def inputEntities(self) -> core.ObjectCollection: """ - Function that returns the specified scale 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. + Gets and sets the input entities. The collection can contain faces, features, bodies or occurrences. + All of the entities must be of a single type. For example, it can't contain features and occurrences + but only features or occurrences. """ - return ScaleFeature() - def createInput(self, inputEntities: core.ObjectCollection, point: core.Base, scaleFactor: core.ValueInput) -> ScaleFeatureInput: + return core.ObjectCollection() + @inputEntities.setter + def inputEntities(self, value: core.ObjectCollection): """ - Creates a ScaleFeatureInput object. Use properties and methods on this object - to define the scale you want to create and then use the Add method, passing in - the ScaleFeatureInput object. - inputEntities : This collection can contain sketches, BRep bodies and T-Spline bodies in parametric modeling. - It can contain sketches, BRep bodies, T-Spline bodies, mesh bodies, root component and occurrences in non-parametric modeling. - point : Input a point as reference to scale. This can be a BRepVertex, a SketchPoint or a ConstructionPoint. - scaleFactor : The ValueInput object that defines the scale factor for uniform scale. - Returns the newly created ScaleFeatureInput object or null if the creation failed. + Gets and sets the input entities. The collection can contain faces, features, bodies or occurrences. + All of the entities must be of a single type. For example, it can't contain features and occurrences + but only features or occurrences. """ - return ScaleFeatureInput() - def add(self, input: ScaleFeatureInput) -> ScaleFeature: + pass + @property + def path(self) -> Path: """ - Creates a new scale feature. - input : A ScaleFeatureInput object that defines the desired scale. Use the createInput - method to create a new ScaleFeatureInput object and then use methods on it - (the ScaleFeatureInput object) to define the scale. - Returns the newly created ScaleFeature object or null if the creation failed. - Returns nothing in the case where the feature is non-parametric. + Gets and sets the path to create the pattern on path. """ - return ScaleFeature() - def itemByName(self, name: str) -> ScaleFeature: + return Path() + @path.setter + def path(self, value: Path): """ - Function that returns the specified scale 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. + Gets and sets the path to create the pattern on path. """ - return ScaleFeature() + pass @property - def count(self) -> int: + def quantity(self) -> core.ValueInput: """ - The number of scale features in the collection. + 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. """ - return int() - -class ShellFeatureInput(core.Base): - """ - This class defines the methods and properties that pertain to the definition of a shell - feature. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> ShellFeatureInput: - return ShellFeatureInput() @property - def inputEntities(self) -> core.ObjectCollection: + def distance(self) -> core.ValueInput: """ - Gets and sets the input faces/bodies. - If IsTangentChain is true, all the faces that are tangentially connected to the input faces (if any) will also be included. - Fails if any faces are input, and the owning bodies of the faces are also input. + Gets and sets the distance. """ - return core.ObjectCollection() - @inputEntities.setter - def inputEntities(self, value: core.ObjectCollection): + return core.ValueInput() + @distance.setter + def distance(self, value: core.ValueInput): """ - Gets and sets the input faces/bodies. - If IsTangentChain is true, all the faces that are tangentially connected to the input faces (if any) will also be included. - Fails if any faces are input, and the owning bodies of the faces are also input. + Gets and sets the distance. """ pass @property - def isTangentChain(self) -> bool: + def startPoint(self) -> float: """ - Gets and sets if any faces that are tangentially connected to any of - the input faces will also be included in setting InputEntities. It defaults to true. + Gets and sets the start point on the path to count the distance. + It's between 0 and 1. 0 means start point of the path, 1 means end point of the path. + """ + return float() + @startPoint.setter + def startPoint(self, value: float): + """ + Gets and sets the start point on the path to count the distance. + It's between 0 and 1. 0 means start point of the path, 1 means end point of the path. + """ + pass + @property + def isFlipDirection(self) -> bool: + """ + Gets and sets if flip the direction from start point. """ return bool() - @isTangentChain.setter - def isTangentChain(self, value: bool): + @isFlipDirection.setter + def isFlipDirection(self, value: bool): """ - Gets and sets if any faces that are tangentially connected to any of - the input faces will also be included in setting InputEntities. It defaults to true. + Gets and sets if flip the direction from start point. """ pass @property - def insideThickness(self) -> core.ValueInput: + def patternDistanceType(self) -> PatternDistanceType: """ - Gets and sets the inside thickness. + Gets and sets how the distance between elements is computed. """ - return core.ValueInput() - @insideThickness.setter - def insideThickness(self, value: core.ValueInput): + return PatternDistanceType() + @patternDistanceType.setter + def patternDistanceType(self, value: PatternDistanceType): """ - Gets and sets the inside thickness. + Gets and sets how the distance between elements is computed. """ pass @property - def outsideThickness(self) -> core.ValueInput: + def isSymmetric(self) -> bool: """ - Gets and sets the outside thickness. + Gets and sets if the pattern is in one direction or symmetric. """ - return core.ValueInput() - @outsideThickness.setter - def outsideThickness(self, value: core.ValueInput): + return bool() + @isSymmetric.setter + def isSymmetric(self, value: bool): """ - Gets and sets the outside thickness. + Gets and sets if the pattern is in one direction or symmetric. """ pass @property - def creationOccurrence(self) -> Occurrence: + def isOrientationAlongPath(self) -> bool: """ - In order for geometry to be transformed correctly, an Occurrence for creation needs to be - specified when the shell is created based on geometry (e.g. a profile and/or face(s)) - in another component AND (the shell) is not in the root component. - The CreationOccurrence is analogous to the active occurrence in the UI + Gets and sets if the orientation is along path. + If false, the orientation is identical. """ - return Occurrence() - @creationOccurrence.setter - def creationOccurrence(self, value: Occurrence): + return bool() + @isOrientationAlongPath.setter + def isOrientationAlongPath(self, value: bool): """ - In order for geometry to be transformed correctly, an Occurrence for creation needs to be - specified when the shell is created based on geometry (e.g. a profile and/or face(s)) - in another component AND (the shell) is not in the root component. - The CreationOccurrence is analogous to the active occurrence in the UI + Gets and sets if the orientation is along path. + If false, the orientation is identical. + """ + pass + @property + def patternComputeOption(self) -> PatternComputeOptions: + """ + Gets and sets the compute option when patterning features. The default value for this is AdjustPatternCompute. + This property only applies when patterning features and is ignored in the direct modeling environment. + """ + return PatternComputeOptions() + @patternComputeOption.setter + def patternComputeOption(self, value: PatternComputeOptions): + """ + Gets and sets the compute option when patterning features. The default value for this is AdjustPatternCompute. + This property only applies when patterning features and is ignored in the direct modeling environment. """ pass @property @@ -15930,1037 +24474,1018 @@ def targetBaseFeature(self, value: BaseFeature): """ pass -class ShellFeatures(core.Base): +class PathPatternFeatures(core.Base): """ - Collection that provides access to all of the existing shell features in a component - and supports the ability to create new shell features. + Collection that provides access to all of the existing path pattern features in a component + and supports the ability to create new path pattern features. """ def __init__(self): pass @staticmethod - def cast(arg) -> ShellFeatures: - return ShellFeatures() - def item(self, index: int) -> ShellFeature: + 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 shell feature using an index into the collection. + Function that returns the specified path pattern 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 ShellFeature() - def createInput(self, inputEntities: core.ObjectCollection, isTangentChain: bool) -> ShellFeatureInput: + return PathPatternFeature() + def createInput(self, inputEntities: core.ObjectCollection, path: Path, quantity: core.ValueInput, distance: core.ValueInput, patternDistanceType: PatternDistanceType) -> PathPatternFeatureInput: """ - 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 - the ShellFeatureInput object. - inputEntities : The collection contains the faces to remove and the bodies to perform shell. - Fails if any faces are input, and the owning bodies of the faces are also input. - isTangentChain : A boolean value for setting whether or not faces that are tangentially connected to - the input faces (if any) will also be included. It defaults to true. - Returns the newly created ShellFeatureInput object or null if the creation failed. + Creates a PathPatternFeatureInput object. Use properties and methods on this object + to define the path pattern you want to create and then use the Add method, passing in + the PathPatternFeatureInput object. + inputEntities : The collection can contain faces, features, bodies or occurrences. + All of the entities must be of a single type. For example, it can't contain features and occurrences + but only features or occurrences. + path : The Path object that represents a single set of connected curves along which to drive the pattern. + quantity : Specifies the number of instances in the first direction. + distance : Specifies the distance. How this value is used depends on the value of the PatternDistanceType property. A + negative value can be used to change the direction. + 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. + patternDistanceType : Specifies how the distance between elements is computed. + Returns the newly created PathPatternFeatureInput object or null if the creation failed. """ - return ShellFeatureInput() - def add(self, input: ShellFeatureInput) -> ShellFeature: + return PathPatternFeatureInput() + def add(self, input: PathPatternFeatureInput) -> PathPatternFeature: """ - Creates a new shell feature. - input : A ShellFeatureInput object that defines the desired shell. Use the createInput - method to create a new ShellFeatureInput object and then use methods on it - (the ShellFeatureInput object) to define the shell. - Returns the newly created ShellFeature object or null if the creation failed. + Creates a new path pattern feature. + input : A PathPatternFeatureInput object that defines the desired path pattern. Use the createInput + method to create a new PathPatternFeatureInput object and then use methods on it + (the PathPatternFeatureInput object) to define the path pattern. + Returns the newly created PathPatternFeature object or null if the creation failed. """ - return ShellFeature() - def itemByName(self, name: str) -> ShellFeature: + return PathPatternFeature() + def itemByName(self, name: str) -> PathPatternFeature: """ - Function that returns the specified shell feature using the name of the feature. + Function that returns the specified path pattern 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 ShellFeature() + return PathPatternFeature() @property def count(self) -> int: """ - The number of shell features in the collection. + The number of path pattern features in the collection. """ return int() -class SilhouetteSplitFeatureInput(core.Base): +class PatternElement(core.Base): """ - This class defines the methods and properties that pertain to the definition of a silhouette split feature. + This class defines the properties that pertain to the pattern element. """ def __init__(self): pass @staticmethod - def cast(arg) -> SilhouetteSplitFeatureInput: - return SilhouetteSplitFeatureInput() + def cast(arg) -> PatternElement: + return PatternElement() @property - def targetBody(self) -> BRepBody: + def faces(self) -> list[BRepFace]: """ - Gets and sets the solid body to split. - """ - return BRepBody() - @targetBody.setter - def targetBody(self, value: BRepBody): - """ - Gets and sets the solid body to split. + Gets the faces generated as a result of this particular element. """ - pass + return [BRepFace()] @property - def viewDirection(self) -> core.Base: + def id(self) -> int: """ - Gets and sets the entity that defines the silhouette view direction, which can be a - construction axis, linear BRepEdge, planar BRepFace or a construction plane. + Gets the id of this element within the pattern. """ - return core.Base() - @viewDirection.setter - def viewDirection(self, value: core.Base): + return int() + @property + def parentFeature(self) -> Feature: """ - Gets and sets the entity that defines the silhouette view direction, which can be a - construction axis, linear BRepEdge, planar BRepFace or a construction plane. + Gets the feature pattern this element is a member of. """ - pass + return Feature() @property - def operation(self) -> SilhouetteSplitOperations: + def isSuppressed(self) -> bool: """ - Gets and sets the type of silhouette split operation to perform. + Gets and sets whether the element is suppressed or not. A value of True indicates it is suppressed """ - return SilhouetteSplitOperations() - @operation.setter - def operation(self, value: SilhouetteSplitOperations): + return bool() + @isSuppressed.setter + def isSuppressed(self, value: bool): """ - Gets and sets the type of silhouette split operation to perform. + Gets and sets whether the element is suppressed or not. A value of True indicates it is suppressed """ pass @property - def targetBaseFeature(self) -> BaseFeature: + def transform(self) -> core.Matrix3D: """ - 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. + Get the transform that describes this elements relative position to the parent object(s). + The transform returned for the first element in a pattern will be an identity matrix. """ - return BaseFeature() - @targetBaseFeature.setter - def targetBaseFeature(self, value: BaseFeature): + return core.Matrix3D() + @property + def name(self) -> str: """ - 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. + Get the name of the pattern element. """ - pass + return str() + @property + def occurrences(self) -> list[Occurrence]: + """ + If the patternEntityType property of the parent feature returns OccurrencesPatternType + then this property will return the occurrences associated with this particular pattern + element. + """ + return [Occurrence()] -class SilhouetteSplitFeatures(core.Base): +class PatternElements(core.Base): """ - Collection that provides access to all of the existing Silhouette Split features in a component - and supports the ability to create new Silhouette Split features. + Collection that provides access to pattern elements of mirror and pattern features. """ def __init__(self): pass @staticmethod - def cast(arg) -> SilhouetteSplitFeatures: - return SilhouetteSplitFeatures() - def item(self, index: int) -> SilhouetteSplitFeature: + 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 silhouette split feature using an index into the collection. + Function that returns the specified pattern element 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 SilhouetteSplitFeature() - def createInput(self, viewDirection: core.Base, targetBody: BRepBody, operation: SilhouetteSplitOperations) -> SilhouetteSplitFeatureInput: - """ - Creates a SilhouetteSplitFeatureInput object. Use properties and methods on this object - to define the silhouette split you want to create and then use the Add method, passing in - the SilhouetteSplitFeatureInput object. - viewDirection : A construction axis, linear BRepEdge, planar BRepFace or a construction plane that defines the view direction - where the silhouette is calculated. - targetBody : Input the single solid body to split - operation : The type of silhouette split operation to perform. - Returns the newly created SilhouetteSplitFeatureInput object or null if the creation failed. - """ - return SilhouetteSplitFeatureInput() - def add(self, input: SilhouetteSplitFeatureInput) -> SilhouetteSplitFeature: - """ - Creates a new silhouette split feature. - input : A SilhouetteSplitFeatureInput object that defines the desired silhouette split feature. Use the createInput - method to create a new SilhouetteSplitFeatureInput object and then use methods on it - (the SilhouetteSplitFeatureInput object) to define the silhouette split. - Returns the newly created SilhouetteSplitFeature object or null if the creation failed. - """ - return SilhouetteSplitFeature() - def itemByName(self, name: str) -> SilhouetteSplitFeature: - """ - Function that returns the specified silhouette split 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 SilhouetteSplitFeature() + return PatternElement() @property def count(self) -> int: """ - The number of Silhouette Split features in the collection. + The number of pattern elements in the collection. """ return int() -class Sketch(core.Base): +class PhysicalProperties(core.Base): """ - Represents a sketch within a component. + The physical properties of a Component, Occurrence or BRepBody """ def __init__(self): pass @staticmethod - 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. - Returns a collection of the sketch entities that were created as a result of the - projection. - """ - return core.ObjectCollection() - def projectCutEdges(self, body: BRepBody) -> core.ObjectCollection: - """ - Intersects the specified body with the sketch plane and creates new - curves representing the intersection. - body : The body to be intersected by the sketch. - Returns a collection of the sketch entities that were created a a result of the - cut. - """ - return core.ObjectCollection() - def include(self, entity: core.Base) -> core.ObjectCollection: - """ - Creates new sketch curves and points that represent the specified entity - as sketch geometry. The sketch geometry is not projected but is created - in the same location in space as the input geometry. - entity : The entity to include into the sketch. This can be a sketch entity from - another sketch, edge, face (which results in getting all of its edges, a - vertex, construction axis, or construction point. - Returns a collection of the sketch entities that were created as a result of the include. - When including this curves it will be a single sketch curve, but for faces, multiple - sketch curves will be created; one for each edge. - """ - return core.ObjectCollection() - def findConnectedCurves(self, curve: SketchCurve) -> core.ObjectCollection: - """ - Finds the sketch curves that are end connected to the input curve. This can be useful - for many cases but is especially useful in gathering the input when creating an offset. - curve : The initial sketch curve that will be used to find the connected curves. - A collection of the connected curves. They are returned in their connected order with - 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: - """ - 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. - curves : A set of end connected curves. The Sketch.FindConnectedCurves method is a convenient way to get - this set of curves. - directionPoint : Defines which side of the input curves to create the offset on - offset : The distance to offset the curves in centimeters. - A collection of the new offset sketch curves created - """ - return core.ObjectCollection() - def modelToSketchSpace(self, modelCoordinate: core.Point3D) -> core.Point3D: - """ - A specified point in model space returns the equivalent point in sketch space. - This is sensitive to the assembly context. - modelCoordinate : A coordinate in model space. - Returns the equivalent point in sketch space. - """ - return core.Point3D() - def sketchToModelSpace(self, sketchCoordinate: core.Point3D) -> core.Point3D: - """ - A specified point in sketch space returns the equivalent point in model space. - This is sensitive to the assembly context. - sketchCoordinate : A coordinate in sketch space. - Returns the equivalent point in model space. - """ - return core.Point3D() - def move(self, sketchEntities: core.ObjectCollection, transform: core.Matrix3D) -> bool: + def cast(arg) -> PhysicalProperties: + return PhysicalProperties() + def getPrincipalAxes(self) -> tuple[bool, core.Vector3D, core.Vector3D, core.Vector3D]: """ - Moves the specified sketch entities using the specified transform. - Transform respects any constraints that would normally prohibit the move. - sketchEntities : A collection of sketch entities to transform. - transform : The transform that defines the move, rotate or scale. - Returns true if the move was successful. + Method that returns the principal axes. + xAxis : The output Vector3D object that indicates the direction of the x axis. + yAxis : The output Vector3D object that indicates the direction of the y axis. + zAxis : The output Vector3D object that indicates the direction of the z axis. + Returns true if successful """ - return bool() - def copy(self, sketchEntities: core.ObjectCollection, transform: core.Matrix3D, targetSketch: Sketch) -> core.ObjectCollection: + return (bool(), core.Vector3D(), core.Vector3D(), core.Vector3D()) + def getPrincipalMomentsOfInertia(self) -> tuple[bool, float, float, float]: """ - Copies the specified sketch entities, applying the specified transform. - Any geometric or dimension constraints associated with the entities will - automatically be copied, if possible. For example, if there is a horizontal - dimension and the transform defines a rotation then it will not be included in the - result. This same behavior can be seen when performing a copy/paste operation - in the user interface. - sketchEntities : The collection of sketch entities to copy. They must all exist in this sketch. - transform : The transform to apply to the copied entities. - targetSketch : Optionally specifies the sketch to copy the entities to. If not provided the entities are copied to this sketch. - Returns a collection of the new sketch entities that were created as a result of the copy. + Method that returns the moments of inertia about the principal axes. Unit for returned values is kg*cm^2. + i1 : Output Double that specifies the first moment of inertia. + i2 : Output Double that specifies the second moment of inertia. + i3 : Output Double that specifies the third moment of inertia. + Returns true if successful """ - return core.ObjectCollection() - def deleteMe(self) -> bool: + return (bool(), float(), float(), float()) + def getRadiusOfGyration(self) -> tuple[bool, float, float, float]: """ - Deletes the sketch. - Returns true if the delete was successful. + Method that returns the radius of gyration about the principal axes. Unit for returned values is cm. + kx : Output Double that returns the X partial radius of gyration. + ky : Output Double that returns the Y partial radius of gyration. + kz : Output Double that returns the Z partial radius of gyration. + Returns true if successful """ - return bool() - def saveAsDXF(self, fullFilename: str) -> bool: + return (bool(), float(), float(), float()) + def getRotationToPrincipal(self) -> tuple[bool, float, float, float]: """ - Saves the contents of the sketch to a specified DXF file. - fullFilename : The full filename, including the path, of the DXF file. - Returns true if the operation was successful. + Gets the rotation from the world coordinate system of the target to the principal coordinate system. + rx : + ry : + rz : + Returns true if successful """ - return bool() - def importSVG(self, fullFilename: str, xPosition: float, yPosition: float, scale: float) -> bool: + return (bool(), float(), float(), float()) + def getXYZMomentsOfInertia(self) -> tuple[bool, float, float, float, float, float, float]: """ - Imports the contents of an SVG file into the active sketch. - fullFilename : The full filename, including the path, of the SVG file. - xPosition : The X offset in centimeters in the sketch for the origin of the SVG data - relative to the sketch origin. - yPosition : The Y offset in centimeters in the sketch for the origin of the SVG data - relative to the sketch origin. - scale : The scale value to apply to the imported SVG data. - Returns true if the import was successful. + Method that gets the moment of inertia about the world coordinate system. + Unit for returned values is kg*cm^2. + xx : Output Double that returns the XX partial moment. + yy : Output Double that returns the YY partial moment. + zz : Output Double that returns the ZZ partial moment. + xy : Output Double that returns the XY partial moment. + yz : Output Double that returns the YZ partial moment. + xz : Output Double that returns the XZ partial moment. + Returns true if successful """ - return bool() - def createForAssemblyContext(self, occurrence: Occurrence) -> Sketch: + return (bool(), float(), float(), float(), float(), float(), float()) + @property + def area(self) -> float: """ - 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. + Gets the area in square centimeters. """ - return Sketch() - def redefine(self, planarEntity: core.Base) -> bool: + return float() + @property + def density(self) -> float: """ - Changes which plane the sketch is based on. - planarEntity : A construction plane or planar face that defines the sketch plane - Returns true if the operation was successful. + Gets the density in kilograms per cubic centimeter. """ - return bool() - def intersectWithSketchPlane(self, entities: list[core.Base]) -> list[SketchEntity]: + return float() + @property + def mass(self) -> float: """ - Intersects the specified entities (BRepBody, BRepFace, BRepEdge, BRepVertex, SketchCurve, ConstructionPoint, - ConstructionAxis, and ConstructionPlane) with the sketch plane and creates sketch geometry that represents - the intersection. - entities : An array containing the entities to intersect with the sketch plane. - An array returning the sketch entities that were created as a result of the - intersections. It's possible that this can come back empty in the case where the input - entities don't intersect the sketch plane. + Gets the mass in kilograms. """ - return [SketchEntity()] - def projectToSurface(self, faces: list[BRepFace], curves: list[core.Base], projectType: SurfaceProjectTypes, directionEntity: core.Base) -> list[SketchEntity]: + return float() + @property + def volume(self) -> float: """ - 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 - is the closest point method, the directionEntity argument is ignored. - faces : An array of BRepFace objects that the curves will be projected onto. - curves : An array of various curve objects that will be projected onto the faces. The curves can be sketch curves and points, - BRepEdge objects, ConstructionAxis objects, and ConstructionPoint objects. - projectType : Specifies which projection type to use which defines the direction of projection. If this is set to AlongVectorSurfaceProjectType - the directionEntity argument must be provided. - directionEntity : if the projectType argument is AlongVectorSurfaceProjectType, this argument must be specified and defines the - direction of projection. It can be a linear BRepEdge, a BRepFace where the normal will be used, a SketchLine, or - a ConstructionLine. - Returns an array of the sketch entities that were created as a result of projection the specified curves onto - the faces. + Gets the volume in the cubic centimeters. """ - return [SketchEntity()] + return float() @property - def name(self) -> str: + def accuracy(self) -> CalculationAccuracy: """ - Gets and sets the name of this sketch as seen in the browser and timeline. + Returns the accuracy that was used for the calculation. """ - return str() - @name.setter - def name(self, value: str): + return CalculationAccuracy() + @property + def centerOfMass(self) -> core.Point3D: """ - Gets and sets the name of this sketch as seen in the browser and timeline. + Returns the center of mass position """ + 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 sketchPoints(self) -> SketchPoints: + def operation(self) -> FeatureOperations: """ - Returns the sketch points collection associated with this sketch. - This provides access to the existing sketch points and supports - the creation of new sketch points. + Gets and sets the type of operation performed by the Pipe. """ - return SketchPoints() - @property - def sketchCurves(self) -> SketchCurves: + return FeatureOperations() + @operation.setter + def operation(self, value: FeatureOperations): """ - Returns the sketch curves collection associated with this sketch. - This provides access to the existing sketch curves which is all - geometry in the sketch except for sketch points. It is through this - collection that new sketch geometry gets created. + Gets and sets the type of operation performed by the Pipe. """ - return SketchCurves() + pass @property - def sketchDimensions(self) -> SketchDimensions: + def path(self) -> Path: """ - Returns the sketch dimensions collection associated with this sketch. - This provides access to the existing sketch dimensions and supports - the creation of new sketch dimensions. + Gets and sets the path to create the Pipe. """ - return SketchDimensions() - @property - def geometricConstraints(self) -> GeometricConstraints: + return Path() + @path.setter + def path(self, value: Path): """ - Returns the sketch constraints collection associated with this sketch. - This provides access to the existing sketch constraints and supports - the creation of new sketch constraints. + Gets and sets the path to create the Pipe. """ - return GeometricConstraints() + pass @property - def transform(self) -> core.Matrix3D: + def sectionType(self) -> PipeSectionTypes: """ - Gets and sets the transform of the sketch with respect to model space. - This defines the transform from the parent component space - to the sketch space. For example, if you have point coordinates in the space - of the parent component and apply this transform it will result in the - coordinates of the equivalent position in sketch space. - The transform is sensitive to the assembly context. - Setting the transform will fail in the case where the sketch is parametric + Gets and sets the section type of the Pipe. + The type can be: Circular, Square, Triangular. """ - return core.Matrix3D() - @transform.setter - def transform(self, value: core.Matrix3D): + return PipeSectionTypes() + @sectionType.setter + def sectionType(self, value: PipeSectionTypes): """ - Gets and sets the transform of the sketch with respect to model space. - This defines the transform from the parent component space - to the sketch space. For example, if you have point coordinates in the space - of the parent component and apply this transform it will result in the - coordinates of the equivalent position in sketch space. - The transform is sensitive to the assembly context. - Setting the transform will fail in the case where the sketch is parametric + Gets and sets the section type of the Pipe. + The type can be: Circular, Square, Triangular. """ pass @property - def isParametric(self) -> bool: - """ - Indicates if this sketch is parametric or not. For parametric sketches, you can also - get the construction plane or face it is associative to using the ReferencePlane property. - """ - return bool() - @property - def isVisible(self) -> bool: + def sectionSize(self) -> core.ValueInput: """ - Gets if this sketch is currently visible in the graphics window. Use the - isLightBulbOn to change if the light bulb beside the sketch 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 body is actually visible or not. + Gets and sets the section size of the Pipe. """ - return bool() - @isVisible.setter - def isVisible(self, value: bool): + return core.ValueInput() + @sectionSize.setter + def sectionSize(self, value: core.ValueInput): """ - Gets if this sketch is currently visible in the graphics window. Use the - isLightBulbOn to change if the light bulb beside the sketch 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 body is actually visible or not. + Gets and sets the section size of the Pipe. """ pass @property - def areDimensionsShown(self) -> bool: + def isHollow(self) -> bool: """ - Indicates if the dimensions of the sketch are displayed when the sketch is not active - (in sketch edit mode) + Specifies if the Pipe is hollow or not. + + Setting this to true will default the sectionThickness to 0.1 cm. """ return bool() - @areDimensionsShown.setter - def areDimensionsShown(self, value: bool): + @isHollow.setter + def isHollow(self, value: bool): """ - Indicates if the dimensions of the sketch are displayed when the sketch is not active - (in sketch edit mode) + Specifies if the Pipe is hollow or not. + + Setting this to true will default the sectionThickness to 0.1 cm. """ pass @property - def areProfilesShown(self) -> bool: + def sectionThickness(self) -> core.ValueInput: """ - Indicates if the profiles of the sketch are displayed + Gets and sets the section thickness of the Pipe. + + Setting this will also set the isHollow setting to true. """ - return bool() - @areProfilesShown.setter - def areProfilesShown(self, value: bool): + return core.ValueInput() + @sectionThickness.setter + def sectionThickness(self, value: core.ValueInput): """ - Indicates if the profiles of the sketch are displayed + Gets and sets the section thickness of the Pipe. + + Setting this will also set the isHollow setting to true. """ pass @property - def origin(self) -> core.Point3D: - """ - Returns the origin point of the sketch in model space. - """ - return core.Point3D() - @property - def xDirection(self) -> core.Vector3D: + def creationOccurrence(self) -> Occurrence: """ - Returns the X direction of the sketch as defined in model space. + 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 core.Vector3D() - @property - def yDirection(self) -> core.Vector3D: + return Occurrence() + @creationOccurrence.setter + def creationOccurrence(self, value: Occurrence): """ - Returns the Y direction of the sketch as defined in model space. + 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 core.Vector3D() + pass @property - def referencePlane(self) -> core.Base: + def targetBaseFeature(self) -> BaseFeature: """ - Gets and sets the construction plane or planar face the sketch is associated - to. This is only valid when the IsParametric property is True otherwise this - returns null and setting the property will fail. + 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. - Setting this property is the equivalent of the Redefine command. + 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 core.Base() - @referencePlane.setter - def referencePlane(self, value: core.Base): + return BaseFeature() + @targetBaseFeature.setter + def targetBaseFeature(self, value: BaseFeature): """ - Gets and sets the construction plane or planar face the sketch is associated - to. This is only valid when the IsParametric property is True otherwise this - returns null and setting the property will fail. + 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. - Setting this property is the equivalent of the Redefine command. + 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 isComputeDeferred(self) -> bool: + def distanceOne(self) -> core.ValueInput: """ - Temporarily turns off the compute of the sketch. This is used to - increase the performance as sketch geometry is created. Once the - sketch is drawn the this property should be set to false to allow - the sketch to recompute. This setting is not saved by the file and is - always false when a file is opened. + 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 bool() - @isComputeDeferred.setter - def isComputeDeferred(self, value: bool): + return core.ValueInput() + @distanceOne.setter + def distanceOne(self, value: core.ValueInput): """ - Temporarily turns off the compute of the sketch. This is used to - increase the performance as sketch geometry is created. Once the - sketch is drawn the this property should be set to false to allow - the sketch to recompute. This setting is not saved by the file and is - always false when a file is opened. + 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 profiles(self) -> Profiles: + def distanceTwo(self) -> core.ValueInput: """ - Returns the profiles currently computed for the sketch. + 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 Profiles() - @property - def timelineObject(self) -> TimelineObject: + return core.ValueInput() + @distanceTwo.setter + def distanceTwo(self, value: core.ValueInput): """ - Returns the timeline object associated with this sketch. + 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 TimelineObject() + pass @property - def parentComponent(self) -> Component: + def participantBodies(self) -> list[BRepBody]: """ - Returns the parent Component. + 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 Component() - @property - def assemblyContext(self) -> Occurrence: + return [BRepBody()] + @participantBodies.setter + def participantBodies(self, value: list[BRepBody]): """ - 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. + 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 Occurrence() + pass + +class PipeFeatures(core.Base): + """ + 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. + 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. + 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 nativeObject(self) -> Sketch: + def count(self) -> int: """ - 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. + The number of Pipe features in the collection. """ - return Sketch() + return int() + +class PlasticRule(core.Base): + """ + A plastic rule. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> PlasticRule: + return PlasticRule() + 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 delete it. + Returns true if the delete was successful. + """ + return bool() @property - def boundingBox(self) -> core.BoundingBox3D: + def name(self) -> str: """ - Returns the 3D bounding box of the sketch + The name of the plastic rule. When setting the name, it must be + unique with respect to other plastic rules in the design or library. """ - return core.BoundingBox3D() + return str() + @name.setter + def name(self, value: str): + """ + The name of the plastic rule. When setting the name, it must be + unique with respect to other plastic rules in the design or library. + """ + pass @property - def sketchTexts(self) -> SketchTexts: + def material(self) -> core.Material: """ - Returns the sketch text collection associated with this sketch. - This provides access to existing text and supports the creation - of new text. + Gets and sets the material assigned to this plastic rule """ - return SketchTexts() + return core.Material() + @material.setter + def material(self, value: core.Material): + """ + Gets and sets the material assigned to this plastic rule + """ + pass @property - def originPoint(self) -> SketchPoint: + def minimumThickness(self) -> float: """ - Returns the sketch point that was automatically created by projecting the - origin construction point into the sketch. + The minimum thickness of the part in centimeters. This is used by + the Design Advice command when analyzing the part for manufacturability. """ - return SketchPoint() + return float() + @minimumThickness.setter + def minimumThickness(self, value: float): + """ + The minimum thickness of the part in centimeters. This is used by + the Design Advice command when analyzing the part for manufacturability. + """ + pass @property - def isFullyConstrained(self) -> bool: + def maximumThickness(self) -> float: """ - Indicates if this sketch is fully constrained. + The maximum thickness of the part in centimeters. This is used by + the Design Advice command when analyzing the part for manufacturability. """ - return bool() + return float() + @maximumThickness.setter + def maximumThickness(self, value: float): + """ + The maximum thickness of the part in centimeters. This is used by + the Design Advice command when analyzing the part for manufacturability. + """ + pass @property - def attributes(self) -> core.Attributes: + def thickness(self) -> PlasticRuleValue: """ - Returns the collection of attributes associated with this face. + The thickness used for plastic features. This value must be within the range specified + by the minimumThickness and maximumThickness properties. This is used by the plastic + commands when a wall thickness is needed. + + When using a float to set the value, it is defined in centimeters. When using a string to + set the expression, the units can be defined as part of the expression or it defaults to + the units associated with the rule if no units are specified. """ - return core.Attributes() + return PlasticRuleValue() @property - def baseOrFormFeature(self) -> core.Base: + def thicknessVariation(self) -> PlasticRuleValue: """ - This property returns the base or form feature that this sketch is associated with. It returns - null in the case where the sketch is parametrically defined and is not related to a base or form - feature. It also returns null in the case where the modeling design history is not being captured (direct edit model). + The maximum thickness of the part. This is used by the Design Advice command + when analyzing the part for manufacturability. + + When using a float to set the value, it is defined in centimeters. When using a string to + set the expression, the units can be defined as part of the expression or it defaults to + the units associated with the rule if no units are specified. """ - return core.Base() + return PlasticRuleValue() @property - def healthState(self) -> FeatureHealthStates: + def draftAngle(self) -> PlasticRuleValue: """ - Returns the current health state of this sketch. + The draft angle used for plastic features. When using a float to set the value, it + is defined in radians. When using a string to set the expression it uses degrees. """ - return FeatureHealthStates() + return PlasticRuleValue() @property - def errorOrWarningMessage(self) -> str: + def minimumDraftAngle(self) -> float: """ - 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. + The minimum draft angle allowed in radians. This is used by the Design Advice command + when analyzing the part for manufacturability. """ - return str() + return float() + @minimumDraftAngle.setter + def minimumDraftAngle(self, value: float): + """ + The minimum draft angle allowed in radians. This is used by the Design Advice command + when analyzing the part for manufacturability. + """ + pass @property - def revisionId(self) -> str: + def nominalRadius(self) -> PlasticRuleValue: """ - Returns the current revision ID of the sketch. This ID changes any time the sketch is modified in any way. By getting - and saving the ID when you create any data that is dependent on the sketch, you can then compare the saved - ID with the current ID to determine if the sketch has changed to know if you should update your data. + The nominal radius used for plastic features. When using a float to set the value, it + is defined in centimeters. When using a string to set the expression, the + units can be defined as part of the expression or it defaults to the units associated + with the rule if no units are specified. """ - return str() + return PlasticRuleValue() @property - def areConstraintsShown(self) -> bool: + def knifeEdgeThreshold(self) -> PlasticRuleValue: """ - Indicates if the constraints of the sketch are displayed when the sketch is active. + The minimal thickness where an edge is considered a knife edge. This is used by the Design Advice + command when analyzing the part for manufacturability. + + When using a float to set the value, it is defined in centimeters. When using a string to + set the expression, the units can be defined as part of the expression or it defaults to + the units associated with the rule if no units are specified. """ - return bool() - @areConstraintsShown.setter - def areConstraintsShown(self, value: bool): + return PlasticRuleValue() + @property + def revealHeight(self) -> PlasticRuleValue: """ - Indicates if the constraints of the sketch are displayed when the sketch is active. + The reveal height used for plastic features. When using a float to set the value, it + is defined in centimeters. When using a string to set the expression, the + units can be defined as part of the expression or it defaults to + the units associated with the rule if no units are specified. """ - pass + return PlasticRuleValue() @property - def arePointsShown(self) -> bool: + def clearance(self) -> PlasticRuleValue: """ - Indicates if the sketch points in the sketch are displayed. Points that are not connected to any other - geometry will continue to be shown. + The clearance used for plastic features. When using a float to set the value, it + is defined in centimeters. When using a string to set the expression, the + units can be defined as part of the expression or it defaults to + the units associated with the rule if no units are specified. """ - return bool() - @arePointsShown.setter - def arePointsShown(self, value: bool): + return PlasticRuleValue() + @property + def parentDesign(self) -> Design: """ - Indicates if the sketch points in the sketch are displayed. Points that are not connected to any other - geometry will continue to be shown. + Returns the parent design for a plastic rule in a design or it + returns null if the plastic rule is in the library. """ - pass + return Design() @property - def isLightBulbOn(self) -> bool: + def isDefault(self) -> bool: """ - Gets and set if the light bulb beside the sketch 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 body is actually visible, just that it should be visible - if all of it's parent nodes are also visible. Use the isVisible property - to determine if it's actually visible. + 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() - @isLightBulbOn.setter - def isLightBulbOn(self, value: bool): + @isDefault.setter + def isDefault(self, value: bool): """ - Gets and set if the light bulb beside the sketch 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 body is actually visible, just that it should be visible - if all of it's parent nodes are also visible. Use the isVisible property - to determine if it's actually visible. + 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 entityToken(self) -> str: + def isUsed(self) -> bool: """ - Returns a token for the Sketch object. This can be saved and used at a later - time with the Design.findEntityByToken method to get back the same token. - - 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. + Indicates if this rule is currently being used by a component. This is only + valid for rules in a design. + """ + return bool() + @property + def units(self) -> str: + """ + Gets the units this rule uses to display values in the dialog. + Rules currently only use mm or inch and the units are permanently + associated with a rule and cannot be modified. """ return str() -class SketchArcs(core.Base): +class PlasticRules(core.Base): """ - The collection of arcs in a sketch. This provides access to the existing - arcs and supports the methods to create new arcs. + A collection of plastic rules. """ def __init__(self): pass @staticmethod - def cast(arg) -> SketchArcs: - return SketchArcs() - def item(self, index: int) -> SketchArc: + def cast(arg) -> PlasticRules: + return PlasticRules() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> PlasticRule: + return None + def __iter__(self) -> Iterator[PlasticRule]: + return None + def item(self, index: int) -> PlasticRule: """ - Function that returns the specified sketch arc using an index into the collection. + Function that returns the specified plastic 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 SketchArc() - def addByCenterStartSweep(self, centerPoint: core.Base, startPoint: core.Base, sweepAngle: float) -> SketchArc: - """ - Creates a sketch arc that is always parallel to the x-y plane of the sketch - and is centered at the specified point. - centerPoint : The center point of the arc. This can be either an existing SketchPoint or a Point3D object. - startPoint : The start point of the arc. The distance between this point and the center defines the radius - of the arc. This can be either an existing SketchPoint or a Point3D object. - sweepAngle : The sweep of the arc. This is defined in radians and a positive value defines a counter-clockwise sweep. - Returns the newly created SketchArc object or null if the creation failed. - """ - return SketchArc() - def addByThreePoints(self, startPoint: core.Base, point: core.Point3D, endPoint: core.Base) -> SketchArc: + return PlasticRule() + def itemByName(self, name: str) -> PlasticRule: """ - Creates a sketch arc that passes through the three points. - startPoint : The start point of the arc. This can be either an existing SketchPoint or a Point3D object. - point : A point along the arc. This is a Point3D object. - endPoint : The end point of the arc. This can be either an existing SketchPoint or a Point3D object. - Returns the newly created SketchArc or null in the case of a failure. + Function that returns the specified plastic 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 Plastic Rules dialog. + Returns the specified item or null if the specified name was not found. """ - return SketchArc() - def addFillet(self, firstEntity: SketchCurve, firstEntityPoint: core.Point3D, secondEnitity: SketchCurve, secondEntityPoint: core.Point3D, radius: float) -> SketchArc: + return PlasticRule() + def addByCopy(self, existingPlasticRule: PlasticRule, name: str) -> PlasticRule: """ - Creates a fillet between two sketch entities - The side (quadrant) the fillet is created on is determined by the points specified. - The point for each entity can be its startSketchPoint or endSketchPoint - firstEntity : The first curve for the fillet definition. The curve must be open. - firstEntityPoint : A point on or closer to one end of the first curve that indicates the side to create the fillet on - secondEnitity : The second curve for the fillet definition. The curve must be open. - secondEntityPoint : A point on or closer to one end of the second curve that indicates the side to create the fillet on - radius : radius of the arc in centimeters - Returns the newly created SketchArc object (fillet) if the operation was successful or null if it failed. + Creates a new plastic rule by copying an existing rule. The new rule + can then be edited to define the rule characteristics you want. + existingPlasticRule : The existing PlasticRule object you want to copy. This can be a rule from the + library or the design. + name : The name to assign to the new plastic rule. This name must be unique with respect to other + plastic rules in the design or library it's created in. + Returns the new PlasticRule object or will assert in the case where it fails. """ - return SketchArc() + return PlasticRule() @property def count(self) -> int: """ - Returns the number of arcs in the sketch. + The number of plastic rules in the collection. """ return int() -class SketchCircles(core.Base): +class PlasticRuleValue(core.Base): """ - The collection of circles in a sketch. This provides access to the existing - circles and supports the methods to create new circles. + Used to get and set the current value associated with a plastic 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) -> SketchCircles: - return SketchCircles() - def item(self, index: int) -> SketchCircle: + def cast(arg) -> PlasticRuleValue: + return PlasticRuleValue() + @property + def expression(self) -> str: """ - Function that returns the specified sketch circle 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 the expression of the plastic 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 unit is implied and uses the units associated with the rule + which can be mm or inch. For example an expression of "3" will be 3 inches if the + rule units are inches or 3 mm if the rule units are millimeters. You can find out + what units are used for a rule using the PlasticRule.units property. """ - return SketchCircle() - def addByCenterRadius(self, centerPoint: core.Base, radius: float) -> SketchCircle: + return str() + @expression.setter + def expression(self, value: str): """ - Creates a sketch circle that is always parallel to the x-y plane of the sketch - and is centered at the specified point. - centerPoint : The center point of the circle. It can be an existing SketchPoint or a Point3D object. - radius : The radius of the circle in centimeters. - Returns the newly created SketchCircle object or null if the creation failed. + Gets and sets the expression of the plastic 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 unit is implied and uses the units associated with the rule + which can be mm or inch. For example an expression of "3" will be 3 inches if the + rule units are inches or 3 mm if the rule units are millimeters. You can find out + what units are used for a rule using the PlasticRule.units property. """ - return SketchCircle() - def addByTwoPoints(self, pointOne: core.Point3D, pointTwo: core.Point3D) -> SketchCircle: + pass + @property + def value(self) -> float: """ - Creates a sketch circle where the circle passes through the two points and the - distance between the two points is the diameter of the circle. - pointOne : A Point3D object that defines a point is sketch space and lies on the x-y plane of the sketch. - pointTwo : A Point3D object that defines a point is sketch space and lies on the x-y plane of the sketch. - Returns the newly created SketchCircle object or null if the creation failed. + Gets and sets the value of the plastic rule value in centimeters. Setting + this value will create a new expression that is equivalent to the new value. """ - return SketchCircle() - def addByThreePoints(self, pointOne: core.Point3D, pointTwo: core.Point3D, pointThree: core.Point3D) -> SketchCircle: + return float() + @value.setter + def value(self, value: float): """ - Creates a sketch circle that passes through the three points. The three points must - lie on the x-y plane of the sketch. - pointOne : The first point that the circle will pass through. The z component must be zero. - pointTwo : The second point that the circle will pass through. The z component must be zero. - pointThree : The third point that the circle will pass through. The z component must be zero. - Returns the newly created SketchCircle object or null if the creation failed. + Gets and sets the value of the plastic rule value in centimeters. Setting + this value will create a new expression that is equivalent to the new value. """ - return SketchCircle() - def addByTwoTangents(self, tangentOne: SketchLine, tangentTwo: SketchLine, radius: float, hintPoint: core.Point3D) -> SketchCircle: + pass + +class PolygonMesh(core.Base): + """ + The PolygonMesh represents a mesh that can contain any + combination of polygons, quads, and triangles. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> PolygonMesh: + return PolygonMesh() + @property + def nodeCount(self) -> int: """ - Creates a sketch circle that is tangent to the two input lines. - The two lines must lie on the x-y plane of the sketch. - tangentOne : The first line that the circle will be tangent to. - The line must lie on the x-y plane of the sketch. - tangentTwo : The second line that the circle will be tangent to. - The line must lie on the x-y plane of the sketch and cannot - be parallel to the first line. - radius : The radius of the circle in centimeters. - hintPoint : A point that specifies which of the possible four solutions to use - when creating the circle. If you consider the two input lines to be infinite - they create four quadrants which results in four possible solutions for the - creation of the circle. The hint point is a point anywhere within the quadrant - where you want the circle created. - Returns the newly created SketchCircle object or null if the creation failed. + Returns the number of nodes in the mesh. """ - return SketchCircle() - def addByThreeTangents(self, tangentOne: SketchLine, tangentTwo: SketchLine, tangentThree: SketchLine, hintPoint: core.Point3D) -> SketchCircle: + return int() + @property + def nodeCoordinatesAsDouble(self) -> list[float]: """ - Creates a sketch circle that is tangent to the three input lines. - The three lines must lie on the x-y plane of the sketch. - tangentOne : The first line that the circle will be tangent to. - The line must lie on the x-y plane of the sketch and cannot be parallel - to the second or third line. - tangentTwo : The second line that the circle will be tangent to. - The line must lie on the x-y plane of the sketch and cannot be parallel - to the first or third line. - tangentThree : The third line that the circle will be tangent to. - The line must lie on the x-y plane of the sketch and cannot be parallel - to the first or second line. - hintPoint : A point that specifies which of the possible multiple solutions to use - when creating the circle. If you consider the three input lines to be infinite - there are many possible solutions when creating a circle that is tangent to all - three lines. The hint point is a point anywhere within the area defined by the - three lines where the circle is to be created. - Returns the newly created SketchCircle object or null if the creation failed. + Returns the node coordinates as an array of doubles where + they are the x, y, z components of each coordinate. """ - return SketchCircle() + return [float()] @property - def count(self) -> int: + def nodeCoordinatesAsFloat(self) -> list[float]: """ - Returns the number of circles in the sketch. + Returns the node coordinates as an array of floats where + they are the x, y, z components of each coordinate. """ - return int() - -class SketchConicCurves(core.Base): - """ - The collection of conic curves in a sketch. This provides access to the existing - conic curves and supports the method to create new conic curves. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> SketchConicCurves: - return SketchConicCurves() - def item(self, index: int) -> SketchConicCurve: + return [float()] + @property + def nodeCoordinates(self) -> list[core.Point3D]: """ - Function that returns the specified conic curve 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 node coordinates as an array of Point3D objects. """ - return SketchConicCurve() + return [core.Point3D()] @property - def count(self) -> int: + def triangleCount(self) -> int: """ - Returns the number of conic curves in the sketch. + Returns the number of triangles in the mesh. """ return int() - -class SketchCurves(core.Base): - """ - A collection of sketch curves in a sketch. This also provides access to collections - for the specific types of curves where you can get the curves based on type and - create new curves. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> SketchCurves: - return SketchCurves() - def item(self, index: int) -> SketchCurve: + @property + def quadCount(self) -> int: """ - Function that returns the specified sketch curve 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 number of quads in the mesh. """ - return SketchCurve() + return int() @property - def count(self) -> int: + def polygonCount(self) -> int: """ - Returns the number of sketch curves in the sketch. + Returns the number of polygons (more than 4 sides) in the mesh. """ return int() @property - def sketchArcs(self) -> SketchArcs: + def normalVectorsAsDouble(self) -> list[float]: """ - Returns the sketch arcs collection associated with this sketch. - This provides access to the existing sketch arcs and supports - the creation of new sketch arcs. + Returns the normal vectors as an array of doubles where + they are the x, y, z components of each vector. There is one normal vector for each index. """ - return SketchArcs() + return [float()] @property - def sketchCircles(self) -> SketchCircles: + def normalVectorsAsFloat(self) -> list[float]: """ - Returns the sketch circles collection associated with this sketch. - This provides access to the existing sketch circles and supports - the creation of new sketch circles. + Returns the normal vectors as an array of floats. There is one normal vector for each index. """ - return SketchCircles() + return [float()] @property - def sketchEllipses(self) -> SketchEllipses: + def normalVectors(self) -> list[core.Vector3D]: """ - Returns the sketch ellipses collection associated with this sketch. - This provides access to the existing sketch ellipses and supports - the creation of new sketch ellipses. + Returns the normal vectors as an array of Vector 3D objects. There is one normal vector for each index. """ - return SketchEllipses() + return [core.Vector3D()] @property - def sketchEllipticalArcs(self) -> SketchEllipticalArcs: + def triangleNodeIndices(self) -> list[int]: """ - Returns the sketch elliptical arcs collection associated with this sketch. - This provides access to the existing sketch elliptical arcs and supports - the creation of new sketch elliptical arcs. + Returns the index values that index into the NodeCoordinates and NormalVectors arrays to + define the three coordinates of each triangle and the corresponding normal. """ - return SketchEllipticalArcs() + return [int()] @property - def sketchLines(self) -> SketchLines: + def quadNodeIndices(self) -> list[int]: """ - Returns the sketch lines collection associated with this sketch. - This provides access to the existing sketch lines and supports - the creation of new sketch lines. + Returns the index values that index into the NodeCoordinates and NormalVectors arrays to + define the four coordinates of each quad and the corresponding normal. """ - return SketchLines() + return [int()] @property - def sketchFittedSplines(self) -> SketchFittedSplines: + def polygonNodeIndices(self) -> list[int]: """ - Returns the sketch splines collection associated with this sketch. - This provides access to the existing sketch splines and supports - the creation of new sketch splines. + Returns the index values that index into the NodeCoordinates and NormalVectors arrays to + define the coordinates of each polygon and the corresponding normal. """ - return SketchFittedSplines() + return [int()] @property - def sketchFixedSplines(self) -> SketchFixedSplines: + def nodeCountPerPolygon(self) -> list[int]: """ - Returns the fixed sketch splines collection associated with this sketch. - This provides access to the existing fixed sketch splines and supports - the creation of new fixed sketch splines. + Returns the number of nodes that define each polygon. For example, + if NodeCountPerPolygon[0] returns 6 it indicates the first polygon + is defined using 6 nodes. The first six indices returned by the + PolygonNodeIndices properties provide the look-up into the NodeCoordinates + array. """ - return SketchFixedSplines() + return [int()] @property - def sketchConicCurves(self) -> SketchConicCurves: + def triangleFaceGroupTempIds(self) -> list[int]: """ - Returns the conic curves collection associated with this sketch. - This provides access to the existing conic curves and support the - creation of new conic curves. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns the face groups tempId values for every triangle of the mesh. The tempId corresponds + to the triangles, which are defined in triangleNodeIndices. """ - return SketchConicCurves() + return [int()] + @property + def wallThickness(self) -> list[float]: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns the wall thickness per node in cm. This property calculates the wall thickness of the mesh, + i.e. the distance of a surface of the mesh to the opposing surface. + """ + return [float()] -class SketchDimension(core.Base): +class Profile(core.Base): """ - The base class for the all sketch dimensions. + Represents a profile in a sketch. Profiles are automatically computed by Fusion and + represent closed areas within the sketch. """ def __init__(self): pass @staticmethod - def cast(arg) -> SketchDimension: - return SketchDimension() - def deleteMe(self) -> bool: + def cast(arg) -> Profile: + return Profile() + def createForAssemblyContext(self, occurrence: Occurrence) -> Profile: """ - Deletes this dimension. The IsDeletable property indicates if this dimension can be deleted. - Returns true if the delete was successful. + 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. + Returns null if this isn't the NativeObject. + 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 bool() + return Profile() + 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. + The default value of 'LowCalculationAccuracy' returns results within a +/- 1% error margin. + Returns the AreaProperties object that has properties for getting the area, perimeter, centroid, etc + of this profile. + """ + return AreaProperties() @property - def isDeletable(self) -> bool: + def boundingBox(self) -> core.BoundingBox3D: """ - Indicates if this dimension is deletable. + Returns the 3D bounding box of the profile in sketch space. """ - return bool() + return core.BoundingBox3D() @property - def textPosition(self) -> core.Point3D: + def plane(self) -> core.Plane: """ - Gets and sets position of the dimension text. + Returns the plane the profile is defined in. Profiles are always planar and exist within + a single plane. """ - return core.Point3D() - @textPosition.setter - def textPosition(self, value: core.Point3D): + return core.Plane() + @property + def profileLoops(self) -> ProfileLoops: """ - Gets and sets position of the dimension text. + The loops or closed areas within this profile. There is always a single outer loop + but there can be zero to many inner loops defining voids in the profile. """ - pass + return ProfileLoops() @property def parentSketch(self) -> Sketch: """ - Returns the parent sketch object. + Returns the parent sketch of the profile. """ return Sketch() @property - def parameter(self) -> ModelParameter: + def assemblyContext(self) -> Occurrence: """ - Returns the associated parameter or null if there is no associated parameter. + 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 ModelParameter() + return Occurrence() @property - def assemblyContext(self) -> Occurrence: + def nativeObject(self) -> Profile: """ - 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 isDriving(self) -> bool: - """ - Gets and sets if the dimension is Driving or is Driven. Setting this property to true for a given dimension - may fail if the result would over constrain the sketch. Fusion 360 does not allow over-constrained sketches. - """ - return bool() - @isDriving.setter - def isDriving(self, value: bool): - """ - Gets and sets if the dimension is Driving or is Driven. Setting this property to true for a given dimension - may fail if the result would over constrain the sketch. Fusion 360 does not allow over-constrained sketches. - """ - pass - @property - def attributes(self) -> core.Attributes: - """ - Returns the collection of attributes associated with this sketch dimension. + 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 core.Attributes() + return Profile() @property def entityToken(self) -> str: """ - Returns a token for the SketchDimension object. This can be saved and used at a later - time with the Design.findEntityByToken method to get back the same sketch dimension. + Returns a token for the Profile object. This can be saved and used at a later + time with the Design.findEntityByToken method to get back the same profile. 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 @@ -16970,1094 +25495,1480 @@ def entityToken(self) -> str: method to get the two entities identified by the tokens and then compare them. """ return str() + @property + def face(self) -> BRepFace: + """ + Returns a temporary BRepFace object that is the same shape as the profile. The geometry + of the returned face is defined in the 3D space of the parent sketch of the profile. + + This can be useful when wanting to use a profile in conjunction with the + TemporaryBRepManager object to create B-Rep objects. + """ + return BRepFace() -class SketchDimensionList(core.Base): +class ProfileCurve(core.Base): """ - A list of sketch dimensions. + A single curve in a profile. """ def __init__(self): pass @staticmethod - def cast(arg) -> SketchDimensionList: - return SketchDimensionList() - def item(self, index: int) -> SketchDimension: + def cast(arg) -> ProfileCurve: + return ProfileCurve() + def createForAssemblyContext(self, occurrence: Occurrence) -> ProfileCurve: """ - Function that returns the specified sketch dimension 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 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. + Returns null if this isn't the NativeObject. + 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 SketchDimension() + return ProfileCurve() @property - def count(self) -> int: + def geometry(self) -> core.Curve3D: """ - Returns the number of sketch dimensions in the sketch. + Returns the geometric entity of this portion of the profile. """ - return int() - -class SketchDimensions(core.Base): - """ - A collection of the dimensions in a sketch. This object also supports the methods to add - new sketch dimensions. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> SketchDimensions: - return SketchDimensions() - def item(self, index: int) -> SketchDimension: + return core.Curve3D() + @property + def geometryType(self) -> core.Curve3DTypes: """ - Function that returns the specified sketch dimension 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 the geometry type that the Geometry property will return. """ - return SketchDimension() - def addDistanceDimension(self, pointOne: SketchPoint, pointTwo: SketchPoint, orientation: DimensionOrientations, textPoint: core.Point3D, isDriving: bool) -> SketchLinearDimension: + return core.Curve3DTypes() + @property + def sketchEntity(self) -> SketchEntity: """ - Creates a new linear dimension constraint between the two input entities. - pointOne : The first SketchPoint to dimension to. - pointTwo : The second SketchPoint to dimension to.. - orientation : The orientation of the dimension. - 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. + Returns the associated sketch entity that defines this curve. """ - return SketchLinearDimension() - def addOffsetDimension(self, line: SketchLine, entityTwo: SketchEntity, textPoint: core.Point3D, isDriving: bool) -> SketchOffsetDimension: + return SketchEntity() + @property + def parentProfileLoop(self) -> ProfileLoop: """ - 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 - to the first. The dimension controls the distance as measured perpendicular to the first - input line. - line : The SketchLine to dimension to. - 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. + Returns the parent ProfileLoop object. """ - return SketchOffsetDimension() - def addAngularDimension(self, lineOne: SketchLine, lineTwo: SketchLine, textPoint: core.Point3D, isDriving: bool) -> SketchAngularDimension: + return ProfileLoop() + @property + def parentProfile(self) -> Profile: """ - 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. - lineOne : The first SketchLine to dimension to. - lineTwo : The second SketchLine to dimension to. - textPoint : A Point3D object that defines the position of the dimension text. The position of this - text defines which quadrant will be dimensioned. - 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. + Returns the parent Profile object. """ - return SketchAngularDimension() - def addDiameterDimension(self, entity: SketchCurve, textPoint: core.Point3D, isDriving: bool) -> SketchDiameterDimension: + return Profile() + @property + def parentSketch(self) -> Sketch: """ - Creates a new diameter dimension constraint on the arc or circle. - entity : The SketchCircle or SketchArc to dimension. - 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. + Returns the parent Profile object. """ - return SketchDiameterDimension() - def addRadialDimension(self, entity: SketchCurve, textPoint: core.Point3D, isDriving: bool) -> SketchRadialDimension: + return Sketch() + @property + def assemblyContext(self) -> Occurrence: """ - Creates a new radial dimension constraint on the arc or circle. - entity : The SketchCircle or SketchArc to dimension. - 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. + 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 SketchRadialDimension() - def addEllipseMajorRadiusDimension(self, ellipse: SketchCurve, textPoint: core.Point3D, isDriving: bool) -> SketchEllipseMajorRadiusDimension: + return Occurrence() + @property + def nativeObject(self) -> ProfileCurve: """ - Creates a new dimension constraint on the major radius of an ellipse. - ellipse : The SketchEllipse to dimension. - 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. + 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 SketchEllipseMajorRadiusDimension() - def addEllipseMinorRadiusDimension(self, ellipse: SketchCurve, textPoint: core.Point3D, isDriving: bool) -> SketchEllipseMinorRadiusDimension: + return ProfileCurve() + @property + def boundingBox(self) -> core.BoundingBox3D: """ - Creates a new dimension constraint on the minor radius of an ellipse. - ellipse : The SketchEllipse to dimension. - 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. + Returns the bounding box of the profile curve in sketch space. """ - return SketchEllipseMinorRadiusDimension() - def addConcentricCircleDimension(self, circleOne: SketchCurve, circleTwo: SketchCurve, textPoint: core.Point3D, isDriving: bool) -> SketchConcentricCircleDimension: + return core.BoundingBox3D() + +class ProfileCurves(core.Base): + """ + A collection of profile curves within a profile loop. + """ + def __init__(self): + pass + @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: """ - Creates a new dimension constraint between to concentric circles or arcs. - circleOne : The first SketchCircle or SketchArc to dimension. - circleTwo : The second SketchCircle or SketchArc to dimension. - 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. + Function that returns the specified profile curve 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 SketchConcentricCircleDimension() + return ProfileCurve() @property def count(self) -> int: """ - Returns the number of sketch dimensions in the sketch. + Returns the number of curves in the collection. """ return int() -class SketchEllipses(core.Base): +class ProfileLoop(core.Base): """ - The collection of ellipses in a sketch. This provides access to the existing - ellipses and supports the methods to create new ellipses. + A loop within a profile. """ def __init__(self): pass @staticmethod - def cast(arg) -> SketchEllipses: - return SketchEllipses() - def item(self, index: int) -> SketchEllipse: + def cast(arg) -> ProfileLoop: + return ProfileLoop() + def createForAssemblyContext(self, occurrence: Occurrence) -> ProfileLoop: """ - Function that returns the specified sketch ellipse 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 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. + Returns null if this isn't the NativeObject. + 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 SketchEllipse() - def add(self, centerPoint: core.Base, majorAxisPoint: core.Point3D, point: core.Point3D) -> SketchEllipse: + return ProfileLoop() + @property + def isOuter(self) -> bool: """ - Creates a sketch ellipse using the center point, a point defining the major axis - and a third point anywhere along the ellipse. The created ellipse is parallel to the - x-y plane of the sketch. - centerPoint : The center point of the ellipse. This can be either an existing SketchPoint or a Point3D object. - majorAxisPoint : A point3D object that defines both the major axis direction and major axis radius. - point : A point3D object that the ellipse will pass through. - Returns the newly created SketchEllipse object if the creation was successful or null if it failed. + Indicates if this is an outer or inner loop. Profiles always have + one outer loop and have an zero to many inner loops defining voids. """ - return SketchEllipse() + return bool() + @property + def profileCurves(self) -> ProfileCurves: + """ + Returns a collection of the curves making up this loop. + """ + return ProfileCurves() + @property + def parentProfile(self) -> Profile: + """ + Returns the parent Profile object. + """ + return Profile() + @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) -> ProfileLoop: + """ + 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 ProfileLoop() + +class ProfileLoops(core.Base): + """ + A collection of loops within a Profile. + """ + def __init__(self): + pass + @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. + 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 ProfileLoop() @property def count(self) -> int: """ - Returns the number of ellipses in the sketch. + Returns the number of loops within this profile. """ return int() -class SketchEllipticalArcs(core.Base): +class Profiles(core.Base): """ - The collection of elliptical arcs in a sketch. This provides access to the existing - elliptical arcs and supports the methods to create new elliptical arcs. + A collection of all of the closed profiles currently calculated for this sketch. Closed profiles are + automatically computed by Fusion and represent closed areas within the sketch. + + This class also provides some additional utility functions to create open profiles and text based profiles + that can be used as input for various features. """ def __init__(self): pass @staticmethod - def cast(arg) -> SketchEllipticalArcs: - return SketchEllipticalArcs() - def item(self, index: int) -> SketchEllipticalArc: + 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 sketch elliptical arc 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. + Function that returns the specified closed profile 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 SketchEllipticalArc() + return Profile() @property def count(self) -> int: """ - Returns the number of elliptical arcs in the sketch. + Returns the number of closed profiles in the sketch. Open and text based profiles are not included. """ return int() -class SketchEntity(core.Base): +class RectangularPatternConstraintInput(core.Base): """ - This object represents all geometry in a sketch, including - points and lines and the various curves. + Used to define the inputs need to create a rectangular pattern in a sketch. """ def __init__(self): pass @staticmethod - def cast(arg) -> SketchEntity: - return SketchEntity() - def deleteMe(self) -> bool: + def cast(arg) -> RectangularPatternConstraintInput: + return RectangularPatternConstraintInput() + def setDirectionOne(self, directionOneEntity: SketchLine, quantityOne: core.ValueInput, distanceOne: core.ValueInput) -> bool: """ - Deletes the entity from the sketch. - Returns true is the delete was successful. + 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() - @property - def parentSketch(self) -> Sketch: + def setDirectionTwo(self, directionTwoEntity: SketchLine, quantityTwo: core.ValueInput, distanceTwo: core.ValueInput) -> bool: """ - Returns the parent sketch. + 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 Sketch() + return bool() @property - def sketchDimensions(self) -> SketchDimensionList: + def entities(self) -> list[SketchEntity]: """ - Returns the sketch dimensions that are attached to this curve. + Gets and sets the entities to pattern. Sketch points and curves are valid + entities to pattern. """ - return SketchDimensionList() - @property - def geometricConstraints(self) -> GeometricConstraintList: + return [SketchEntity()] + @entities.setter + def entities(self, value: list[SketchEntity]): """ - Returns the sketch constraints that are attached to this curve. + Gets and sets the entities to pattern. Sketch points and curves are valid + entities to pattern. """ - return GeometricConstraintList() + pass @property - def is2D(self) -> bool: + def directionOneEntity(self) -> SketchLine: """ - Indicates if this curve lies entirely on the sketch x-y plane. + 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 bool() + 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 isReference(self) -> bool: + def directionTwoEntity(self) -> SketchLine: """ - Indicates if this geometry is a reference. - Changing this property from true to false removes the reference. - This property can not be set to true if it is already false. + 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 bool() - @isReference.setter - def isReference(self, value: bool): + return SketchLine() + @directionTwoEntity.setter + def directionTwoEntity(self, value: SketchLine): """ - Indicates if this geometry is a reference. - Changing this property from true to false removes the reference. - This property can not be set to true if it is already false. + 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 isFixed(self) -> bool: + def quantityOne(self) -> core.ValueInput: """ - Indicates if this geometry is "fixed". + Gets and sets the number of instances in the first direction. """ - return bool() - @isFixed.setter - def isFixed(self, value: bool): + return core.ValueInput() + @quantityOne.setter + def quantityOne(self, value: core.ValueInput): """ - Indicates if this geometry is "fixed". + Gets and sets the number of instances in the first direction. """ pass @property - def isVisible(self) -> bool: + def quantityTwo(self) -> core.ValueInput: """ - When a sketch is created, geometry is sometimes automatically added to the sketch. - For example a sketch point that references the origin point is always included and - if a face was selected to create the sketch on, geometry from the face is also included. - This automatically created geometry behaves in a special way in that it is invisible - but is available for selection and it also participates in profile calculations. It's - not possible to make them visible but they can be deleted and they can be used for any - other standard sketch operation. + Gets and sets the number of instances in the second direction. """ - return bool() - @property - def boundingBox(self) -> core.BoundingBox3D: + return core.ValueInput() + @quantityTwo.setter + def quantityTwo(self, value: core.ValueInput): """ - Returns the bounding box of the entity in sketch space. + Gets and sets the number of instances in the second direction. """ - return core.BoundingBox3D() + pass @property - def referencedEntity(self) -> core.Base: + def distanceOne(self) -> core.ValueInput: """ - Returns the referenced entity in the case where IsReference - is true. However, this property can also return null when - IsReference is true in the case where the reference is not - parametric. + Gets and sets the distance in the first direction. """ - return core.Base() + return core.ValueInput() + @distanceOne.setter + def distanceOne(self, value: core.ValueInput): + """ + Gets and sets the distance in the first direction. + """ + pass @property - def assemblyContext(self) -> Occurrence: + def distanceTwo(self) -> core.ValueInput: """ - 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. + Gets and sets the distance in the second direction. """ - return Occurrence() + return core.ValueInput() + @distanceTwo.setter + def distanceTwo(self, value: core.ValueInput): + """ + Gets and sets the distance in the second direction. + """ + pass @property - def isDeletable(self) -> bool: + def isSymmetricInDirectionOne(self) -> bool: """ - Indicates if this sketch entity can be deleted. There are cases, especially with sketch - points where another entity is dependent on an entity so deleting it is not allowed. - For example, you can't delete the center point of circle by itself but deleting the circle - will delete the point. The same is true for the end points of a line. + 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 isFullyConstrained(self) -> bool: + def isSymmetricInDirectionTwo(self) -> bool: """ - Indicates if this sketch entity is fully constrained. + 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 attributes(self) -> core.Attributes: + def distanceType(self) -> PatternDistanceType: """ - Returns the collection of attributes associated with this face. + Gets and sets how the distance between elements is computed. """ - return core.Attributes() + return PatternDistanceType() + @distanceType.setter + def distanceType(self, value: PatternDistanceType): + """ + Gets and sets how the distance between elements is computed. + """ + pass @property - def entityToken(self) -> str: + def isSuppressed(self) -> list[bool]: """ - Returns a token for the SketchEntity object. This can be saved and used at a later - time with the Design.findEntityByToken method to get back the same sketch entity. + 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. - 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. + 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 str() - @property - def isLinked(self) -> bool: + return [bool()] + @isSuppressed.setter + def isSuppressed(self, value: list[bool]): """ - Indicates if this sketch entity was created by a projection, inclusion, or driven by an API script. - If this returns true, then the entity is presented to the user as not editable and with a 'break link' - command available. + 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() + pass -class SketchEntityList(core.Base): +class RectangularPatternFeatureInput(core.Base): """ - A list of sketch entities. + This class defines the methods and properties that pertain to the definition of a rectangular pattern + feature. """ def __init__(self): pass @staticmethod - def cast(arg) -> SketchEntityList: - return SketchEntityList() - def item(self, index: int) -> SketchEntity: + def cast(arg) -> RectangularPatternFeatureInput: + return RectangularPatternFeatureInput() + def setDirectionTwo(self, directionTwoEntity: core.Base, quantityTwo: core.ValueInput, distanceTwo: core.ValueInput) -> bool: """ - Function that returns the specified sketch entity 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. + Sets all of the input required to define the pattern in the second direction. + directionTwoEntity : Specifies the entity used to define the second direction entity. This can be a linear edge, construction axis, sketch line or rectangular pattern feature. + If a rectangular pattern feature is set, the directionOneEntity and directionTwoEntity properties return the same rectangular pattern feature. + + 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 SketchEntity() + return bool() @property - def count(self) -> int: + def inputEntities(self) -> core.ObjectCollection: """ - Returns the number of sketch entities in the list. + Gets and sets the input entities. The collection can contain faces, features, bodies or occurrences. + All of the entities must be of a single type. For example, it can't contain features and occurrences + but only features or occurrences. + """ + return core.ObjectCollection() + @inputEntities.setter + def inputEntities(self, value: core.ObjectCollection): + """ + Gets and sets the input entities. The collection can contain faces, features, bodies or occurrences. + All of the entities must be of a single type. For example, it can't contain features and occurrences + but only features or occurrences. """ - return int() - -class Sketches(core.Base): - """ - Provides access to the sketches within a design and provides - methods to create new sketches. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> Sketches: - return Sketches() - def item(self, index: int) -> Sketch: + @property + def directionOneEntity(self) -> core.Base: """ - Function that returns the specified sketch 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 the first direction entity. + This can be a linear edge, construction axis, sketch line or rectangular pattern feature. + If a rectangular pattern feature is set, the directionOneEntity and directionTwoEntity properties return the same rectangular pattern feature. """ - return Sketch() - def itemByName(self, name: str) -> Sketch: + return core.Base() + @directionOneEntity.setter + def directionOneEntity(self, value: core.Base): """ - Returns the sketch with the specified name. - name : The name of the sketch as seen in the browser and the timeline. - Returns the sketch or null if there isn't a sketch with that name. + Gets and sets the first direction entity. + This can be a linear edge, construction axis, sketch line or rectangular pattern feature. + If a rectangular pattern feature is set, the directionOneEntity and directionTwoEntity properties return the same rectangular pattern feature. """ - return Sketch() - def add(self, planarEntity: core.Base, occurrenceForCreation: Occurrence) -> Sketch: + pass + @property + def directionTwoEntity(self) -> core.Base: """ - Creates a new sketch on the specified planar entity. - planarEntity : A construction plane or planar face that defines the sketch plane - occurrenceForCreation : A creation occurrence is needed if the planarEntity is in another component AND the - sketch is not in the root component. The occurrenceForCreation is analogous - to the active occurrence in the UI. - Returns the newly created Sketch or null if the creation failed. + Gets and sets the second direction entity. + This can be a linear edge, construction axis, sketch line or rectangular pattern feature. + If a rectangular pattern feature is set, the directionOneEntity and directionTwoEntity properties return the same rectangular pattern feature. """ - return Sketch() - def addToBaseOrFormFeature(self, planarEntity: core.Base, targetBaseOrFormFeature: core.Base, includeFaceEdges: bool) -> Sketch: + return core.Base() + @directionTwoEntity.setter + def directionTwoEntity(self, value: core.Base): """ - Creates a parametric sketch that is associated with a base feature. - - Because of a current limitation, if you want to create a sketch associated with a base - feature, you must first call the edit method of the base feature, use this method to - create the sketch, 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. - planarEntity : A construction plane or planar face that defines the sketch plane. - targetBaseOrFormFeature : The existing base feature that you want to associate this sketch with. - includeFaceEdges : When a BrepFace is used as the planarEntity argument, this defines if the edges of the face - should be included in the sketch. - Returns the newly created Sketch or null if the creation failed. + Gets and sets the second direction entity. + This can be a linear edge, construction axis, sketch line or rectangular pattern feature. + If a rectangular pattern feature is set, the directionOneEntity and directionTwoEntity properties return the same rectangular pattern feature. """ - return Sketch() - def addWithoutEdges(self, planarEntity: core.Base, occurrenceForCreation: Occurrence) -> Sketch: + pass + @property + def quantityOne(self) -> core.ValueInput: """ - 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 - always be a new empty sketch. - planarEntity : A construction plane or planar face that defines the sketch plane. - occurrenceForCreation : A creation occurrence is needed if the planarEntity is in another component AND the - sketch is not in the root component. The occurrenceForCreation is analogous - to the active occurrence in the UI. - Returns the newly created Sketch or null if the creation failed. + Gets and sets the number of instances in the first direction. """ - return Sketch() + 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 count(self) -> int: + def quantityTwo(self) -> core.ValueInput: """ - Returns the number of sketches in a component + Gets and sets the number of instances in the second direction. """ - return int() + 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 directionOne(self) -> core.Vector3D: + """ + Returns a Vector3D indicating the positive direction of direction one. + """ + return core.Vector3D() + @property + def directionTwo(self) -> core.Vector3D: + """ + Returns a Vector3D indicating the positive direction of direction two. + """ + return core.Vector3D() + @property + def isSymmetricInDirectionOne(self) -> bool: + """ + Gets and sets if the pattern in direction one is in one direction or symmetric. + """ + return bool() + @isSymmetricInDirectionOne.setter + def isSymmetricInDirectionOne(self, value: bool): + """ + Gets and sets if the pattern in direction one is in one direction or symmetric. + """ + pass + @property + def isSymmetricInDirectionTwo(self) -> bool: + """ + Gets and sets if the pattern in direction two is in one direction or symmetric. + """ + return bool() + @isSymmetricInDirectionTwo.setter + def isSymmetricInDirectionTwo(self, value: bool): + """ + Gets and sets if the pattern in direction two is in one direction or symmetric. + """ + pass + @property + def patternDistanceType(self) -> PatternDistanceType: + """ + Gets and sets how the distance between elements is computed. + """ + return PatternDistanceType() + @patternDistanceType.setter + def patternDistanceType(self, value: PatternDistanceType): + """ + Gets and sets how the distance between elements is computed. + """ + pass + @property + def patternComputeOption(self) -> PatternComputeOptions: + """ + Gets and sets the compute option when patterning features. The default value for this is AdjustPatternCompute. + This property only applies when patterning features and is ignored in the direct modeling environment. + """ + return PatternComputeOptions() + @patternComputeOption.setter + def patternComputeOption(self, value: PatternComputeOptions): + """ + Gets and sets the compute option when patterning features. The default value for this is AdjustPatternCompute. + This property only applies when patterning features and is ignored in the direct modeling environment. + """ + 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 SketchFittedSplines(core.Base): +class RectangularPatternFeatures(core.Base): """ - The collection of fitted splines in a sketch. This provides access to the existing - fitted splines and supports the methods to create new fitted splines. + Collection that provides access to all of the existing rectangular pattern features in a component + and supports the ability to create new rectangular pattern features. """ def __init__(self): pass @staticmethod - def cast(arg) -> SketchFittedSplines: - return SketchFittedSplines() - def item(self, index: int) -> SketchFittedSpline: + 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 sketch fitted spline using an index into the collection. + Function that returns the specified rectangular pattern 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 SketchFittedSpline() - def add(self, fitPoints: core.ObjectCollection) -> SketchFittedSpline: + return RectangularPatternFeature() + def createInput(self, inputEntities: core.ObjectCollection, directionOneEntity: core.Base, quantityOne: core.ValueInput, distanceOne: core.ValueInput, patternDistanceType: PatternDistanceType) -> RectangularPatternFeatureInput: """ - Creates a new fitted spline through the specified points. - fitPoints : A collection of points that the curve will fit through. They - can be any combination of existing SketchPoint or Point3D objects. - Returns the newly created SketchFittedSpline object if the creation was successful or null if it failed. + Creates a RectangularPatternFeatureInput object. Use properties and methods on this object + to define the rectangular pattern you want to create and then use the Add method, passing in + the RectangularPatternFeatureInput object. + inputEntities : The collection can contain faces, features, bodies or occurrences. + All of the entities must be of a single type. For example, it can't contain features and occurrences + but only features or occurrences. + directionOneEntity : Specifies the entity used to define the first direction entity. This can be a linear edge, construction axis, sketch line or rectangular pattern feature. + If a rectangular pattern feature is set, the directionOneEntity and directionTwoEntity properties return the same rectangular pattern feature. + 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. A + negative value can be used to change the direction. + 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. + patternDistanceType : Specifies how the distance between elements is computed. + Returns the newly created RectangularPatternFeatureInput object or null if the creation failed. """ - return SketchFittedSpline() - def addByNurbsCurve(self, nurbsCurve: core.NurbsCurve3D) -> SketchFittedSpline: + return RectangularPatternFeatureInput() + def add(self, input: RectangularPatternFeatureInput) -> RectangularPatternFeature: """ - 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. + Creates a new rectangular pattern feature. + input : A RectangularPatternFeatureInput object that defines the desired rectangular pattern. Use the createInput + method to create a new RectangularPatternFeatureInput object and then use methods on it + (the RectangularPatternFeatureInput object) to define the rectangular pattern. + Returns the newly created RectangularPatternFeature object or null if the creation failed. """ - return SketchFittedSpline() + return RectangularPatternFeature() + def itemByName(self, name: str) -> RectangularPatternFeature: + """ + Function that returns the specified rectangular pattern 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 RectangularPatternFeature() @property def count(self) -> int: """ - Returns the number of fitted splines in the sketch. + The number of rectangular pattern features in the collection. """ return int() -class SketchFixedSplines(core.Base): +class RefoldFeatures(core.Base): """ - The collection of fixed splines in a sketch. Fixed splines are splines that were created - as the result of some operation (i.e. intersection) and is not directly editable. + Collection that provides access to all of the existing refold features in a design. """ def __init__(self): pass @staticmethod - def cast(arg) -> SketchFixedSplines: - return SketchFixedSplines() - def item(self, index: int) -> SketchFixedSpline: + 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 sketch fixed spline using an index into the collection. + Function that returns the specified refold 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 SketchFixedSpline() - def addByNurbsCurve(self, nurbsCurve: core.NurbsCurve3D) -> SketchFixedSpline: + return RefoldFeature() + def itemByName(self, name: str) -> RefoldFeature: """ - Creates a new fixed spline using the input NurbsCurve3D to define the shape. The resulting curve - is not editable by the user but can be updated via the API using the replaceGeometry method on the - SketchFixedSpline object. - nurbsCurve : A NurbsCurve3D object that defines a valid NURBS curve. - Returns the newly created SketchFixedSpline object if the creation was successful or null if it failed. + Function that returns the specified refold 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 SketchFixedSpline() + return RefoldFeature() @property def count(self) -> int: """ - Returns the number of fitted splines in the sketch. + The number of refold features in the collection. """ return int() -class SketchLineList(core.Base): +class RemoveFeatures(core.Base): """ - A list of sketch lines. + Collection that provides access to all of the existing Remove features in a component + and supports the ability to create new Remove features. """ def __init__(self): pass @staticmethod - def cast(arg) -> SketchLineList: - return SketchLineList() - def item(self, index: int) -> SketchLine: + 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 sketch line using an index into the collection. + Function that returns the specified Remove 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 SketchLine() + return RemoveFeature() + def itemByName(self, name: str) -> RemoveFeature: + """ + Function that returns the specified remove 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 RemoveFeature() + def add(self, itemToRemove: core.Base) -> RemoveFeature: + """ + Creates a new Remove feature. + itemToRemove : A single body (solid or surface) or component occurrence to remove. + Returns the newly created RemoveFeature object or null if the creation failed. + """ + return RemoveFeature() @property def count(self) -> int: """ - Returns the number of sketch lines in the list. + The number of Remove features in the collection. """ return int() -class SketchLines(core.Base): +class RenderEnvironment(core.Base): """ - The collection of lines in a sketch. This provides access to the existing - lines and supports the methods to create new lines. + 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) -> SketchLines: - return SketchLines() - def item(self, index: int) -> SketchLine: + def cast(arg) -> RenderEnvironment: + return RenderEnvironment() + @staticmethod + def loadCustomEnvironment(fullFilename: str) -> RenderEnvironment: """ - Function that returns the specified sketch line 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. + Statically creates a RenderEnvironment which can be used to set the environment for + a scene using the SceneSettings.backgroundEnvironment property. + fullFilename : + """ - return SketchLine() - def addByTwoPoints(self, startPoint: core.Base, endPoint: core.Base) -> SketchLine: + return RenderEnvironment() + @property + def isCustomEnvironment(self) -> bool: """ - Creates a sketch line between the two input points. The input points - can be either existing SketchPoints or Point3D objects. If a SketchPoint - is used the new line will be based on that sketch point and update if the - sketch point is modified. - startPoint : The start point of the line. It can be a SketchPoint or Point3D object. - endPoint : The end point of the line. It can be a SketchPoint or Point3D object. - Returns the newly created SketchLine object or null if the creation failed. + Returns true if this environment is a custom environment. """ - return SketchLine() - def addTwoPointRectangle(self, pointOne: core.Base, pointTwo: core.Base) -> SketchLineList: + return bool() + @property + def name(self) -> str: """ - Creates four sketch lines representing a rectangle where the two points are the opposing corners - of the rectangle. The input points can be either existing SketchPoints or Point3D objects. - If a SketchPoint is used the new lines will be based on that sketch point and update if the - sketch point is modified. - pointOne : The first corner of the rectangle. It can be a SketchPoint or Point3D object. - pointTwo : The second corner of the rectangle. It can be a SketchPoint or Point3D object. - Returns the four new sketch lines or null if the creation failed. + The name of the environment. """ - return SketchLineList() - def addThreePointRectangle(self, pointOne: core.Base, pointTwo: core.Base, pointThree: core.Point3D) -> SketchLineList: + return str() + @property + def id(self) -> str: """ - Creates four sketch lines representing a rectangle where the first two points are the base corners - of the rectangle and the third point defines the height. - pointOne : The first corner of the rectangle. It can be a SketchPoint or Point3D object. - pointTwo : The first corner of the rectangle. It can be a SketchPoint or Point3D object. - pointThree : The first corner of the rectangle. a Point3D object defining the height of the rectangle. - Returns the four new sketch lines or null if the creation failed. + The internal ID of the environment. """ - return SketchLineList() - def addCenterPointRectangle(self, centerPoint: core.Point3D, cornerPoint: core.Base) -> SketchLineList: + 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 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: """ - Creates four sketch lines representing a rectangle where the first point represents the center of - the rectangle. The second point is the corner of the rectangle and can be either an existing - SketchPoint or Point3D object. The four sketch lines are returned. - centerPoint : The center point of the rectangle - cornerPoint : The corner of the rectangle. It can be a SketchPoint or Point3D object. - Returns the four new sketch lines or null if the creation failed. + 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 SketchLineList() - def addDistanceChamfer(self, firstLine: SketchLine, firstLinePoint: core.Point3D, secondLine: SketchLine, secondLinePoint: core.Point3D, distanceOne: float, distanceTwo: float) -> SketchLine: + return RenderEnvironment() + def itemByName(self, name: str) -> RenderEnvironment: """ - Creates a chamfer between two sketch lines. In the case where the two input lines cross each other creating - an "X" shape, this results in four quadrants where the chamfer can be placed. The point arguments are used - to define which of the four quadrants the chamfer should be created in. The two points define which side of - the two lines should be kept and the other end will be trimmed by the chamfer. The easiest way to use this is - to use the end points of the lines on the side you want to keep. - In the case where the lines don't intersect or connect at the end points, there is only one valid quadrant - for the chamfer so the points are ignored. - firstLine : The first line you want to chamfer. - firstLinePoint : A point on the first line that is on the side of the intersection with the second line that you want to keep. - secondLine : The second line you want to chamfer. - secondLinePoint : A point on the second line that is on the side of the intersection with the first line that you want to keep. - distanceOne : Defines the distance of the start point of the chamfer line from the intersection point of the two lines along the first line. - The distance is defined in centimeters. - distanceTwo : Defines the distance of the start point of the chamfer line from the intersection point of the two lines along the second line. - The distance is defined in centimeters. - Returns the newly created SketchLine object that represents the chamfer or null if the creation failed. + 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 SketchLine() - def addAngleChamfer(self, firstLine: SketchLine, firstLinePoint: core.Point3D, secondLine: SketchLine, secondLinePoint: core.Point3D, distance: float, angle: float) -> SketchLine: + return RenderEnvironment() + def itemById(self, id: str) -> RenderEnvironment: """ - Creates a chamfer between two sketch lines. In the case where the two input lines cross each other creating - an "X" shape, this results in four quadrants where the chamfer can be placed. The point arguments are used - to define which of the four quadrants the chamfer should be created in. The two points define which side of - the two lines should be kept and the other end will be trimmed by the chamfer. The easiest way to use this is - to use the end points of the lines on the side you want to keep. - In the case where the lines don't intersect or connect at the end points, there is only one valid quadrant - for the chamfer so the points are ignored. - firstLine : The first line you want to chamfer. - firstLinePoint : A point on the first line that is on the side of the intersection with the second line that you want to keep. - secondLine : The second line you want to chamfer. - secondLinePoint : A point on the second line that is on the side of the intersection with the first line that you want to keep. - distance : Defines the distance of the start point of the chamfer from the intersection point of the two lines along the first line. - The distance is defined in centimeters. - angle : Defines the angle of the chamfer as measured from the first line. - The angle is defined in radians. - Returns the newly created SketchLine object that represents the chamfer or null if the creation failed. + 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 SketchLine() + return RenderEnvironment() @property def count(self) -> int: """ - Returns the number of lines in the sketch. + The number of render environments in the collection. """ return int() -class SketchPointList(core.Base): +class RenderEventHandler(core.EventHandler): """ - A list of sketch points. + 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) -> SketchPointList: - return SketchPointList() - def item(self, index: int) -> SketchPoint: - """ - Function that returns the specified sketch point 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 SketchPoint() - @property - def count(self) -> int: + def cast(arg) -> RenderEventHandler: + return RenderEventHandler() + def notify(self, eventArgs: RenderEventArgs) -> None: """ - Returns the number of sketch points in the list. + The function called by Fusion when the associated event is fired. + eventArgs : Returns an object that provides access to additional information associated with the event. """ - return int() + pass -class SketchPoints(core.Base): +class RenderFuture(core.Base): """ - A collection of sketch points. + Used to check the state of a local or in canvas rendering. """ def __init__(self): pass @staticmethod - def cast(arg) -> SketchPoints: - return SketchPoints() - def item(self, index: int) -> SketchPoint: + def cast(arg) -> RenderFuture: + return RenderFuture() + @property + def progress(self) -> float: """ - Function that returns the specified sketch 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 progress of this rendering expressed as a percentage + where 0.0 is no progress and 1.0 is complete. """ - return SketchPoint() - def add(self, point: core.Point3D) -> SketchPoint: + return float() + @property + def renderState(self) -> LocalRenderStates: """ - Creates a point at the specified location. This is the equivalent - of creating a sketch point using the Point command in the user - interface and will create a visible point in the graphics window. - point : The coordinate location to create the sketch point. - Returns the new sketch point or null if the creation fails. + Returns the current state of the rendering. """ - return SketchPoint() + return LocalRenderStates() @property - def count(self) -> int: + def imageWidth(self) -> int: """ - Returns the number of sketch points in the sketch. + 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 SketchTextDefinition(core.Base): - """ - The base class for the classes that define how text can be defined. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> SketchTextDefinition: - return SketchTextDefinition() - -class SketchTextInput(core.Base): +class Rendering(core.Base): """ - 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. A SketchTextInput object is created by using the createInput of the SketchTexts object. + Provides access to the ability to render in a background process on the local machine. """ def __init__(self): pass @staticmethod - def cast(arg) -> SketchTextInput: - return SketchTextInput() - def setAsFitOnPath(self, path: core.Base, isAbovePath: bool) -> bool: + def cast(arg) -> Rendering: + return Rendering() + def startLocalRender(self, filename: str = "", camera: core.Camera = None) -> RenderFuture: """ - Sets this SketchTextInput to define text that fits along a specified path. Fitting on a path will - space the characters so the text fits along the entire length of the path entity. - path : The entity that defines the path for the text. This can be a SketchCurve or BRepEdge object. - isAbovePath : Indicates if the text should be positioned above or below the path entity. - Returns true if the setting the definition was successful. + 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 bool() - def setAsAlongPath(self, path: core.Base, isAbovePath: bool, horizontalAlignment: core.HorizontalAlignments, characterSpacing: float) -> bool: + return RenderFuture() + @property + def aspectRatio(self) -> RenderAspectRatios: """ - Sets this SketchTextInput to define text that follows along a specified path. - path : The entity that defines the path for the text. This can be a SketchCurve or BRepEdge object. - isAbovePath : Indicates if the text should be positioned above or below the path entity. - horizontalAlignment : Specifies the horizontal alignment of the text with respect to the path curve. - characterSpacing : The percentage change in default spacing between characters. - Returns true if the setting the definition was successful. + 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 bool() - def setAsMultiLine(self, cornerPoint: core.Base, diagonalPoint: core.Base, horizontalAlignment: core.HorizontalAlignments, verticalAlignment: core.VerticalAlignments, characterSpacing: float) -> bool: + return RenderAspectRatios() + @aspectRatio.setter + def aspectRatio(self, value: RenderAspectRatios): """ - Defines the first corner point of the rectangle that will contain the text. - cornerPoint : Specifies the location of one of the corner points of the rectangle that will contain the text. - This can be a Point3D object, with a Z component of zero, to define any arbitrary location on the X-Y - plane of the sketch or it can be an existing SketchPoint that lies on the sketch X-Y plane. - diagonalPoint : Specifies the location of the diagonal point of the rectangle that will contain the text. This point - cannot be aligned vertically or horizontally to the corner point but be a diagonal point to define - a rectangle. This can be a Point3D object, with a Z component of zero, to define any arbitrary location on the X-Y - plane of the sketch or it can be an existing SketchPoint that lies on the sketch X-Y plane and the sketch point - will become the opposing corner point. - horizontalAlignment : Specifies the horizontal alignment of the text with respect to the text rectangle. - verticalAlignment : Specifies the vertical alignment of the text with respect to the text rectangle. - characterSpacing : The spacing between the characters. This is an additional spacing to apply that is defined - as a percentage of the default spacing. A spacing of 0 indicates no additional spacing. - A spacing of 50 indicates to use the default plus 50% of the default. - Returns true if the setting the definition was successful. + 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 bool() + pass @property - def height(self) -> float: + def renderQuality(self) -> int: """ - Gets and sets the height of the text in centimeters. + 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 float() - @height.setter - def height(self, value: float): + return int() + @renderQuality.setter + def renderQuality(self, value: int): """ - Gets and sets the height of the text in centimeters. + 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 text(self) -> str: + def isBackgroundTransparent(self) -> bool: """ - Gets and sets the text. + Specifies if the background of the rendering should be transparent. The default + is false, which means it will not be transparent. """ - return str() - @text.setter - def text(self, value: str): + return bool() + @isBackgroundTransparent.setter + def isBackgroundTransparent(self, value: bool): """ - Gets and sets the text. + Specifies if the background of the rendering should be transparent. The default + is false, which means it will not be transparent. """ pass @property - def position(self) -> core.Point3D: + def resolution(self) -> RenderResolutions: """ - 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. + 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 core.Point3D() - @position.setter - def position(self, value: core.Point3D): + return RenderResolutions() + @resolution.setter + def resolution(self, value: RenderResolutions): """ - 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. + 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 fontName(self) -> str: + def resolutionHeight(self) -> int: """ - Gets and sets the name of the font to use. + 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 str() - @fontName.setter - def fontName(self, value: str): + return int() + @resolutionHeight.setter + def resolutionHeight(self, value: int): """ - Gets and sets the name of the font to use. + 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 angle(self) -> float: + def resolutionWidth(self) -> int: """ - Gets and sets the angle of the text relative to the x-axis of the x-y plane of the sketch. + 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 float() - @angle.setter - def angle(self, value: float): + return int() + @resolutionWidth.setter + def resolutionWidth(self, value: int): """ - Gets and sets the angle of the text relative to the x-axis of the x-y plane of the sketch. + 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 - @property - def textStyle(self) -> TextStyles: + +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: """ - Gets and sets the text style to apply to the entire text. This is a bitwise enum so styles - can be combined to apply multiple styles. For example you can apply bold and italic. + 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 TextStyles() - @textStyle.setter - def textStyle(self, value: TextStyles): + return bool() + @property + def parentDesign(self) -> core.Product: """ - Gets and sets the text style to apply to the entire text. This is a bitwise enum so styles - can be combined to apply multiple styles. For example you can apply bold and italic. + Returns the parent Design this RenderManager was obtained from. """ - pass + return core.Product() @property - def isHorizontalFlip(self) -> bool: + def sceneSettings(self) -> SceneSettings: """ - Gets and sets if the text is flipped horizontally. + 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 bool() - @isHorizontalFlip.setter - def isHorizontalFlip(self, value: bool): + return SceneSettings() + @property + def renderEnvironments(self) -> RenderEnvironments: """ - Gets and sets if the text is flipped horizontally. + 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. """ - pass + return RenderEnvironments() @property - def isVerticalFlip(self) -> bool: + def rendering(self) -> Rendering: """ - Gets and sets if the text is flipped vertically. + 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 bool() - @isVerticalFlip.setter - def isVerticalFlip(self, value: bool): + return Rendering() + @property + def isRenderWorkspaceActive(self) -> bool: """ - Gets and sets if the text is flipped vertically. + Returns if the Render workspace for this Design is active or not. Returns + true if the workspace is active. """ - pass + return bool() @property - def definition(self) -> SketchTextDefinition: + def inCanvasRendering(self) -> InCanvasRendering: """ - Returns the SketchTextDefinition object associated with this input. When the SketchTextInput is first created this - property will return null. Once one of the "set" methods have been called, this will return the SketchTextDefinition - of the appropriate type and can be used to make any additional changes to the text. + 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 SketchTextDefinition() + return InCanvasRendering() -class SketchTexts(core.Base): +class ReplaceFaceFeatureInput(core.Base): """ - The collection of text blocks in a sketch. This provides access to the existing - text blocks and supports creating new text blocks. + This class defines the methods and properties that pertain to the definition of a replace face feature. """ def __init__(self): pass @staticmethod - def cast(arg) -> SketchTexts: - return SketchTexts() - def item(self, index: int) -> SketchText: + def cast(arg) -> ReplaceFaceFeatureInput: + return ReplaceFaceFeatureInput() + @property + def sourceFaces(self) -> core.ObjectCollection: """ - Function that returns the specified sketch text 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 the entities that define the source faces to perform replace. + The collection can contain the faces from a solid and/or from features. All the faces must be on the same body. """ - return SketchText() - def createInput(self, formattedText: str, height: float, position: core.Point3D) -> SketchTextInput: + return core.ObjectCollection() + @sourceFaces.setter + def sourceFaces(self, value: core.ObjectCollection): """ - 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. + Gets and sets the entities that define the source faces to perform replace. + The collection can contain the faces from a solid and/or from features. All the faces must be on the same body. """ - return SketchTextInput() - def add(self, input: SketchTextInput) -> SketchText: + pass + @property + def targetFaces(self) -> core.Base: """ - Creates a sketch text. - input : A SketchTextInput object created using the SketchTexts.createInput method. - Returns the newly created SketchText object or null in the case of failure. + Gets and sets the entities that define the target faces. The new faces must completely intersect the part. + The collection can contain the surface faces, surface bodies and construction planes. """ - return SketchText() - def createInput2(self, formattedText: str, height: float) -> SketchTextInput: + return core.Base() + @targetFaces.setter + def targetFaces(self, value: core.Base): """ - Creates a SketchTextInput object that is used to define the additional input to create text. The SketchTextInput - object is equivalent to the Sketch Text dialog in that it collects all of the input required to create sketch text. - You must call setAsFitOnPath, setAsAlongPath, or setAsMultiLine methods to define one of the three types of text and - can use other and define any - setAs 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. - Returns a SketchTextInput object that can be used to set additional formatting and is used as input to the add method. + Gets and sets the entities that define the target faces. The new faces must completely intersect the part. + The collection can contain the surface faces, surface bodies and construction planes. """ - return SketchTextInput() + pass @property - def count(self) -> int: + def isTangentChain(self) -> bool: """ - Returns the number of texts in the sketch. + Gets and sets if any faces that are tangentially connected to any of + the input faces will also be included in setting InputEntities. It defaults to true. """ - return int() - -class Snapshot(core.Base): - """ - Object that represents a Snapshot in the timeline - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> Snapshot: - return Snapshot() - def deleteMe(self) -> bool: + return bool() + @isTangentChain.setter + def isTangentChain(self, value: bool): """ - Deletes this snapshot. - Returns true if the delete was successful. + Gets and sets if any faces that are tangentially connected to any of + the input faces will also be included in setting InputEntities. It defaults to true. """ - return bool() + pass @property - def name(self) -> str: + def targetBaseFeature(self) -> BaseFeature: """ - Gets and sets the name of the snapshot as seen in the timeline. + 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 str() - @name.setter - def name(self, value: str): + return BaseFeature() + @targetBaseFeature.setter + def targetBaseFeature(self, value: BaseFeature): """ - Gets and sets the name of the snapshot as seen in the timeline. + 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 timelineObject(self) -> TimelineObject: - """ - Returns the timeline object associated with this snapshot. - """ - return TimelineObject() -class Snapshots(core.Base): +class ReplaceFaceFeatures(core.Base): """ - Provides access to the Snapshots within a design and provides - methods to create new Snapshots. + Collection that provides access to all of the existing replace face features in a component + and supports the ability to create new replace face features. """ def __init__(self): pass @staticmethod - def cast(arg) -> Snapshots: - return Snapshots() - def add(self) -> Snapshot: - """ - Creates a new snapshot. Creating a snapshot is only valid when the HasPendingTransforms property returns true. - Returns the newly created snapshot. - """ - return Snapshot() - def item(self, index: int) -> Snapshot: + 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 snapshot in the collection using an index into the collection. + Function that returns the specified replace face 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 Snapshot() - def revertPendingSnapshot(self) -> bool: + return ReplaceFaceFeature() + def createInput(self, sourceFaces: core.ObjectCollection, isTangentChain: bool, targetFaces: core.Base) -> ReplaceFaceFeatureInput: """ - Reverts and changes that have been made that can be snapshot. This effectively - reverts the design back to the last snapshot. This is only valid when the - HasPendingSnapshot property returns true. - Returns true if the revert was successful. + Creates a ReplaceFaceFeatureInput object. Use properties and methods on this object + to define the replace face you want to create and then use the Add method, passing in + the ReplaceFaceFeatureInput object. + sourceFaces : Input the entities that define the source faces (the faces to be replaced). + The collection can contain the faces from a solid and/or features. All the faces must be on the same body. + isTangentChain : A boolean value for setting whether or not faces that are tangentially connected to + the input faces (if any) will also be included. A value of true indicates that tangent + faces will be included. + targetFaces : Input the entities that define the target faces. The new faces must completely intersect the part. + The collection can contain the surface faces, surface bodies and construction planes. + Returns the newly created ReplaceFaceFeatureInput object or null if the creation failed. """ - return bool() - @property - def count(self) -> int: + return ReplaceFaceFeatureInput() + def add(self, input: ReplaceFaceFeatureInput) -> ReplaceFaceFeature: """ - The number of items in the collection. + Creates a new replace face feature. + input : A ReplaceFaceFeatureInput object that defines the desired replace face. Use the createInput + method to create a new ReplaceFaceFeatureInput object and then use methods on it + (the ReplaceFaceFeatureInput object) to define the replace face. + Returns the newly created ReplaceFaceFeature object or null if the creation failed. """ - return int() + return ReplaceFaceFeature() + def itemByName(self, name: str) -> ReplaceFaceFeature: + """ + Function that returns the specified replace face 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 ReplaceFaceFeature() @property - def hasPendingSnapshot(self) -> bool: + def count(self) -> int: """ - Indicates if there are any changes that have been made than can be snapshot. + The number of replace face features in the collection. """ - return bool() + return int() -class SphereFeatures(core.Base): +class ReverseNormalFeatures(core.Base): """ - Collection that provides access to all of the existing torus features in a design. + Collection that provides access to all of the existing Reverse Normal features in a component + and supports the ability to create new Reverse Normal features. """ def __init__(self): pass @staticmethod - def cast(arg) -> SphereFeatures: - return SphereFeatures() - def item(self, index: int) -> SphereFeature: + 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 sphere feature using an index into the collection. + Function that returns the specified Reverse Normal 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 SphereFeature() - def itemByName(self, name: str) -> SphereFeature: + return ReverseNormalFeature() + def itemByName(self, name: str) -> ReverseNormalFeature: """ - Function that returns the specified sphere feature using the name of the feature. + Function that returns the specified reverse normal 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 SphereFeature() + return ReverseNormalFeature() + def add(self, surfaces: core.ObjectCollection) -> ReverseNormalFeature: + """ + Creates a new Reverse Normal feature. + surfaces : One or more surface bodies (open BRepBodies) containing the faces whose normals are to be reversed. + All faces of the input surface bodies get reversed. + Returns the newly created ReverseNormalFeature object or null if the creation failed. + """ + return ReverseNormalFeature() @property def count(self) -> int: """ - The number of sphere features in the collection. + The number of Reverse Normal features in the collection. """ return int() -class SplitBodyFeatureInput(core.Base): +class RevolveFeatureInput(core.Base): """ - This class defines the methods and properties that pertain to the definition of a split body feature. + This class defines the methods and properties that pertain to the definition of a revolve + feature. """ def __init__(self): pass @staticmethod - def cast(arg) -> SplitBodyFeatureInput: - return SplitBodyFeatureInput() + def cast(arg) -> RevolveFeatureInput: + return RevolveFeatureInput() + def setAngleExtent(self, isSymmetric: bool, angle: core.ValueInput) -> bool: + """ + Defines the extent of the revolution to be at a specified angle. + An angle and whether the extent is symmetric or only in one direction + is specified. If it's not symmetric a positive or negative angle can be + used to control the direction. If symmetric, the angle is the angle on one + side so the entire angle of the revolution will be twice the specified angle. + Use an angle of 360 deg or 2 pi radians to create a full revolve. + isSymmetric : Set to 'true' for a revolve symmetrical about the profile plane + angle : The ValueInput object that defines the angle of the revolution + Returns true if successful + """ + return bool() + def setTwoSideAngleExtent(self, angleOne: core.ValueInput, angleTwo: core.ValueInput) -> bool: + """ + Defines the angle of the revolve to be to applied to both sides of the profile + at the specified angles. + angleOne : The ValueInput object that defines the angle for the first side of the revolution + angleTwo : The ValueInput object that defines the angle for the second side of the revolution + Returns true if successful + """ + return 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. + 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 a revolve it can be a BRepBody, BRepFace, + BRepVertex, ConstructionPlane, or ConstructionPoint. + directionHint : Specifies the direction of the revolve. + Returns true if successful. + """ + return bool() + def setTwoSideToExtent(self, toEntityOne: core.Base, toEntityTwo: core.Base) -> bool: + """ + Defines the extents of the revolve to be from the sketch plane to specified + faces in both directions. If the matchShape argument is true, the faces to revolve to + are extended to fully intersect the revolve. + 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 a revolve 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 a revolve it can be a BRepBody, BRepFace, + BRepVertex, ConstructionPlane, or ConstructionPoint. + Returns true if successful. + """ + return bool() @property - def splitBodies(self) -> core.Base: + def profile(self) -> core.Base: """ - Gets and sets the input solid or open bodies to be split. This can be a - single BRepBody or an ObjectCollection if multiple bodies are to be split. + Gets and sets the profiles or planar faces used to define the shape of the revolve. + This property can return or be set with a single Profile, a single planar face, or + an ObjectCollection consisting of multiple profiles and planar faces. When an + ObjectCollection is used all of the profiles and faces must be co-planar. + This property returns null in the case where the feature is non-parametric. + + To create a surface (non-solid) revolution, you can use the createOpenProfile and createBRepEdgeProfile + methods of the Component object to create an open profile. The isSolid property of the + RevolveFeatureInput property must also be False. """ return core.Base() - @splitBodies.setter - def splitBodies(self, value: core.Base): + @profile.setter + def profile(self, value: core.Base): """ - Gets and sets the input solid or open bodies to be split. This can be a - single BRepBody or an ObjectCollection if multiple bodies are to be split. + Gets and sets the profiles or planar faces used to define the shape of the revolve. + This property can return or be set with a single Profile, a single planar face, or + an ObjectCollection consisting of multiple profiles and planar faces. When an + ObjectCollection is used all of the profiles and faces must be co-planar. + This property returns null in the case where the feature is non-parametric. + + To create a surface (non-solid) revolution, you can use the createOpenProfile and createBRepEdgeProfile + methods of the Component object to create an open profile. The isSolid property of the + RevolveFeatureInput property must also be False. """ pass @property - def splittingTool(self) -> core.Base: + def operation(self) -> FeatureOperations: """ - Gets and sets the entity that defines the splitting tool. The splitting tool is a single - entity that can be either a solid or open BRepBody, construction plane, profile, or a face. + Gets and sets the type of operation performed by the revolve. + """ + return FeatureOperations() + @operation.setter + def operation(self, value: FeatureOperations): + """ + Gets and sets the type of operation performed by the revolve. + """ + pass + @property + def axis(self) -> core.Base: + """ + Gets and sets the entity used to define the axis of revolution. + The axis can be a sketch line, construction axis, linear edge or a face that defines an + axis (cylinder, cone, torus, etc.). If it is not in the same plane as the profile, it is + projected onto the profile plane. """ return core.Base() - @splittingTool.setter - def splittingTool(self, value: core.Base): + @axis.setter + def axis(self, value: core.Base): """ - Gets and sets the entity that defines the splitting tool. The splitting tool is a single - entity that can be either a solid or open BRepBody, construction plane, profile, or a face. + Gets and sets the entity used to define the axis of revolution. + The axis can be a sketch line, construction axis, linear edge or a face that defines an + axis (cylinder, cone, torus, etc.). If it is not in the same plane as the profile, it is + projected onto the profile plane. """ pass @property - def isSplittingToolExtended(self) -> bool: + def creationOccurrence(self) -> Occurrence: """ - Gets and sets whether or not the splitting tool is to be automatically extended (if possible) so as to - completely intersect the bodyToSplit. + In order for geometry to be transformed correctly, an Occurrence for creation needs to be + specified when the Revolve is created based on geometry (e.g. a profile and/or face(s)) + in another component AND (the Revolve) 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 Revolve is created based on geometry (e.g. a profile and/or face(s)) + in another component AND (the Revolve) is not in the root component. + The CreationOccurrence is analogous to the active occurrence in the UI + """ + pass + @property + def isSolid(self) -> bool: + """ + Specifies if the revolution should be created as a solid or surface. If + it's a surface then there aren't any end caps and it's open. This is + initialized to true so a solid will be created if it's not changed. """ return bool() - @isSplittingToolExtended.setter - def isSplittingToolExtended(self, value: bool): + @isSolid.setter + def isSolid(self, value: bool): """ - Gets and sets whether or not the splitting tool is to be automatically extended (if possible) so as to - completely intersect the bodyToSplit. + Specifies if the revolution should be created as a solid or surface. If + it's a surface then there aren't any end caps and it's open. This is + initialized to true so a solid will be created if it's not changed. """ pass @property @@ -18086,589 +26997,751 @@ def targetBaseFeature(self, value: BaseFeature): feature must be in an "edit" state to be able to add any additional items to it. """ pass - -class SplitBodyFeatures(core.Base): - """ - Collection that provides access to all of the existing split body features in a component - and supports the ability to create new split body features. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> SplitBodyFeatures: - return SplitBodyFeatures() - def item(self, index: int) -> SplitBodyFeature: - """ - Function that returns the specified split body 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 SplitBodyFeature() - def createInput(self, splitBodies: core.Base, splittingTool: core.Base, isSplittingToolExtended: bool) -> SplitBodyFeatureInput: + @property + def participantBodies(self) -> list[BRepBody]: """ - Creates a SplitBodyFeatureInput object. Use properties and methods on this object - to define the split body you want to create and then use the Add method, passing in - the SplitBodyFeatureInput object. - splitBodies : Input solid body or open bodies to be split. This can be a single BRepBody or an ObjectCollection if multiple - bodies are to be split. - splittingTool : Input entity that defines the splitting tool. The splitting tool is a single entity that can be either a solid or open BRepBody, - construction plane, profile, or a face. - isSplittingToolExtended : A boolean value for setting whether or not the splitting tool is to be automatically extended (if possible) so as to - completely intersect the bodyToSplit. - Returns the newly created SplitBodyFeatureInput object or null if the creation failed. + 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 SplitBodyFeatureInput() - def add(self, input: SplitBodyFeatureInput) -> SplitBodyFeature: + return [BRepBody()] + @participantBodies.setter + def participantBodies(self, value: list[BRepBody]): """ - Creates a new split body feature. - input : A SplitBodyFeatureInput object that defines the desired split body feature. Use the createInput - method to create a new SplitBodyFeatureInput object and then use methods on it - (the SplitBodyFeatureInput object) to define the split body. - Returns the newly created SplitBodyFeature object or null if the creation failed. + 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 SplitBodyFeature() - def itemByName(self, name: str) -> SplitBodyFeature: + pass + @property + def isProjectAxis(self) -> bool: """ - Function that returns the specified split body 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. + 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 SplitBodyFeature() - @property - def count(self) -> int: + return bool() + @isProjectAxis.setter + def isProjectAxis(self, value: bool): """ - The number of split body features in the collection. + 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 int() + pass -class SplitFaceFeatureInput(core.Base): +class RevolveFeatures(core.Base): """ - This class defines the methods and properties that pertain to the definition of a split face feature. + Collection that provides access to all of the existing revolve features in a design + and supports the ability to create new revolve features. """ def __init__(self): pass @staticmethod - def cast(arg) -> SplitFaceFeatureInput: - return SplitFaceFeatureInput() - def setAlongVectorSplitType(self, directionEntity: core.Base) -> bool: + 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: """ - Sets the split type to project the splitting tool along the direction defined by the - specified entity. - directionEntity : An entity that defines the direction of projection of the splitting tool. This can be - a linear BRepEdge, SketchLine, ConstructionLine, or a planar face where the face - normal is used. - Returns true is setting the split type was successful. - """ - return bool() - def setClosestPointSplitType(self) -> bool: - """ - Sets the split type to be a curve that defined by projecting the splitting curve to the - closest point on the surface. - Returns true is setting the split type was successful. - """ - return bool() - def setSurfaceIntersectionSplitType(self, isSplittingToolExtended: bool) -> bool: - """ - Set the split type to be a surface to surface intersection. If the split tool is a curve - it will be extruded into a surface to use in the split. If it's a surface, the surface will - be used and optionally extended to fully intersect the faces to be split. - isSplittingToolExtended : Specifies if the splitting tool should be extended so that is fully intersects the faces to be split. - Returns true is setting the split type was successful. - """ - return bool() - @property - def facesToSplit(self) -> core.ObjectCollection: - """ - Gets and sets the faces to be split. - The collection can contain one or more faces selected from solid and/or open bodies. + Function that returns the specified revolve 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 core.ObjectCollection() - @facesToSplit.setter - def facesToSplit(self, value: core.ObjectCollection): + return RevolveFeature() + def createInput(self, profile: core.Base, axis: core.Base, operation: FeatureOperations) -> RevolveFeatureInput: """ - Gets and sets the faces to be split. - The collection can contain one or more faces selected from solid and/or open bodies. + Creates a new RevolveFeatureInput object that is used to specify the input needed + to create a new revolve feature. + profile : The profile argument can be a single Profile, a single + planar face, or an ObjectCollection consisting of multiple profiles and planar faces. + When an ObjectCollection is used all of the profiles and faces must be co-planar. + + To create a surface (non-solid) revolution, 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 RevolveFeatureInput property to False. + axis : The axis can be a sketch line, construction axis, linear edge or a face that defines an + axis (cylinder, cone, torus, etc.). If it is not in the same plane as the profile, it is + projected onto the profile plane. + operation : The operation type to perform. + Returns the newly created RevolveFeatureInput object or null if the creation failed. """ - pass - @property - def splittingTool(self) -> core.Base: + return RevolveFeatureInput() + def add(self, input: RevolveFeatureInput) -> RevolveFeature: """ - Gets and sets the entity(s) that define the splitting tool(s). The splitting tool can be a single entity or an - ObjectCollection containing solid and/or open bodies, construction planes, faces, or sketch curves that partially - or fully intersect the faces that are being split. + Creates a new revolve feature based on the information provided by the provided + RevolveFeatureInput object. + To create a new revolve, use the createInput function to create a new input object + and then use the methods and properties on that object to define the required input + for a revolve. Once the information is defined on the input object you can pass it + to the Add method to create the revolve. + input : The RevolveFeatureInput object that specifies the input needed to create a new extrude + Returns the newly created RevolveFeature or null if the creation failed. """ - return core.Base() - @splittingTool.setter - def splittingTool(self, value: core.Base): + return RevolveFeature() + def itemByName(self, name: str) -> RevolveFeature: """ - Gets and sets the entity(s) that define the splitting tool(s). The splitting tool can be a single entity or an - ObjectCollection containing solid and/or open bodies, construction planes, faces, or sketch curves that partially - or fully intersect the faces that are being split. + Function that returns the specified revolve 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. """ - pass + return RevolveFeature() @property - def isSplittingToolExtended(self) -> bool: - """ - Gets and sets whether or not the splittingTool is to be automatically extended (if possible) so as to - completely intersect the facesToSplit. - """ - return bool() - @isSplittingToolExtended.setter - def isSplittingToolExtended(self, value: bool): + def count(self) -> int: """ - Gets and sets whether or not the splittingTool is to be automatically extended (if possible) so as to - completely intersect the facesToSplit. + The number of revolve features in the collection. """ + return int() + +class RibFeatures(core.Base): + """ + Collection that provides access to all of the existing rib features in a design. + """ + def __init__(self): pass - @property - def targetBaseFeature(self) -> BaseFeature: + @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: """ - 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. + Function that returns the specified Rib 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 BaseFeature() - @targetBaseFeature.setter - def targetBaseFeature(self, value: BaseFeature): + return RibFeature() + def itemByName(self, name: str) -> RibFeature: """ - 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. + Function that returns the specified Rib 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. """ - pass + return RibFeature() @property - def splitType(self) -> SplitFaceSplitTypes: + def count(self) -> int: """ - Returns the type of split type currently defined. + The number of Rib features in the collection. """ - return SplitFaceSplitTypes() + return int() -class SplitFaceFeatures(core.Base): +class RigidGroup(core.Base): """ - Collection that provides access to all of the existing split face features in a component - and supports the ability to create new split face features. + Represents a rigid group within an assembly. """ def __init__(self): pass @staticmethod - def cast(arg) -> SplitFaceFeatures: - return SplitFaceFeatures() - def item(self, index: int) -> SplitFaceFeature: + def cast(arg) -> RigidGroup: + return RigidGroup() + def deleteMe(self) -> bool: """ - Function that returns the specified split face 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. + Deletes this rigid group. + Returns True if the delete was successful. """ - return SplitFaceFeature() - def createInput(self, facesToSplit: core.ObjectCollection, splittingTool: core.Base, isSplittingToolExtended: bool) -> SplitFaceFeatureInput: + return bool() + def setOccurrences(self, occurrences: core.ObjectCollection, includeChildren: bool) -> bool: """ - Creates a SplitFaceFeatureInput object. Use properties and methods on this object - to define the split face you want to create and then use the Add method, passing in - the SplitFaceFeatureInput object. + Sets which occurrences are to be part of this rigid group. - A newly created SplitFaceFeatureInput object defaults to creating a split face feature - using the "Split with Surface" option. You can use functions on the SplitFaceFeatureInput - object to define a different type of split type. - facesToSplit : Input the faces to be split. The collection can contain one or more faces from solid and/or open bodies. - splittingTool : Input entity(s) that defines the splitting tool. The splitting tool can be a single entity or an ObjectCollection - containing solid and/or open bodies, construction planes, faces, or sketch curves that partially or fully intersect - the faces that are being split. - isSplittingToolExtended : A boolean value for setting whether or not the splittingTool is to be automatically extended (if possible) so as to - completely intersect the faces that are to be split. This is only used when the split type is "split with surface" - which is the default type when a new createInput is created. Use functions on the returned SplitFaceFeatureInput - to define a different type of split type. - Returns the newly created SplitFaceFeatureInput object or null if the creation failed. + To use this method, you need to position the timeline marker to immediately before this group. + This can be accomplished using the following code: group.timelineObject.rollTo(True) + occurrences : An ObjectCollection containing the occurrences to use in creating the rigid group. + includeChildren : Boolean indicating if the children of the input occurrences should be included in the rigid group. + Returns true if successful. """ - return SplitFaceFeatureInput() - def add(self, input: SplitFaceFeatureInput) -> SplitFaceFeature: + return bool() + def createForAssemblyContext(self, occurrence: Occurrence) -> RigidGroup: """ - Creates a new split face feature. - input : A SplitFaceFeatureInput object that defines the desired split face feature. Use the createInput - method to create a new SplitFaceFeatureInput object and then use methods on it - (the SplitFaceFeatureInput object) to define the split face. - Returns the newly created SplitFaceFeature object or null if the creation failed. + 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 SplitFaceFeature() - def itemByName(self, name: str) -> SplitFaceFeature: + return RigidGroup() + @property + def parentComponent(self) -> Component: """ - Function that returns the specified split face 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. + Returns the parent component that owns this rigid group. """ - return SplitFaceFeature() + return Component() @property - def count(self) -> int: + def name(self) -> str: """ - The number of split face features in the collection. + Gets and sets the name of the rigid group as seen in the timeline. + """ + return str() + @name.setter + def name(self, value: str): + """ + Gets and sets the name of the rigid group as seen in the timeline. """ - return int() - -class StitchFeatureInput(core.Base): - """ - This class defines the methods and properties that pertain to the definition of a stitch feature. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> StitchFeatureInput: - return StitchFeatureInput() @property - def stitchSurfaces(self) -> core.ObjectCollection: + def occurrences(self) -> OccurrenceList: """ - Gets and sets the surfaces to stitch together. + Returns the list of occurrences that are part of the rigid group. """ - return core.ObjectCollection() - @stitchSurfaces.setter - def stitchSurfaces(self, value: core.ObjectCollection): + return OccurrenceList() + @property + def timelineObject(self) -> TimelineObject: """ - Gets and sets the surfaces to stitch together. + Returns the timeline object associated with this rigid group. """ - pass + return TimelineObject() @property - def tolerance(self) -> core.ValueInput: + def isSuppressed(self) -> bool: """ - Gets and sets the ValueInput object that defines the stitching tolerance. It must define a length. + Gets and sets if this rigid group is suppressed. """ - return core.ValueInput() - @tolerance.setter - def tolerance(self, value: core.ValueInput): + return bool() + @isSuppressed.setter + def isSuppressed(self, value: bool): """ - Gets and sets the ValueInput object that defines the stitching tolerance. It must define a length. + Gets and sets if this rigid group is suppressed. """ pass @property - def operation(self) -> FeatureOperations: + def nativeObject(self) -> RigidGroup: """ - Gets and sets the feature operation to perform. This property value is only valid if the isSolid property returns - true. Otherwise the value of this property is ignored. + 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 FeatureOperations() - @operation.setter - def operation(self, value: FeatureOperations): + return RigidGroup() + @property + def assemblyContext(self) -> Occurrence: """ - Gets and sets the feature operation to perform. This property value is only valid if the isSolid property returns - true. Otherwise the value of this property is ignored. + 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. """ - pass + return Occurrence() @property - def targetBaseFeature(self) -> BaseFeature: + def attributes(self) -> core.Attributes: """ - 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. + Returns the collection of attributes associated with this rigid group. """ - return BaseFeature() - @targetBaseFeature.setter - def targetBaseFeature(self, value: BaseFeature): + return core.Attributes() + @property + def entityToken(self) -> str: """ - 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. + Returns a token for the RigidGroup object. This can be saved and used at a later + time with the Design.findEntityByToken method to get back the same rigid group. - 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. + 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 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 StitchFeatures(core.Base): +class RigidGroupList(core.Base): """ - Collection that provides access to all of the existing Stitch features in a component - and supports the ability to create new Stitch features. + A list of rigid groups. """ def __init__(self): pass @staticmethod - def cast(arg) -> StitchFeatures: - return StitchFeatures() - def item(self, index: int) -> StitchFeature: + 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 stitch 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. + Function that returns the specified rigid group using an index into the list. + index : The index of the item within the list to return. The first item in the list has an index of 0. 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: + return RigidGroup() + def itemByName(self, name: str) -> RigidGroup: """ - 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 - the StitchFeatureInput object. - stitchSurfaces : The surfaces (open BRepBodies) to stitch together. - Stitching surfaces can form multiple closed volumes resulting in multiple solids. - Stitch Surfaces can form multiple BRepShells (entirely connected set of entities) that would result in a - single non-solid BRepBody. - tolerance : ValueInput object that defines the stitching tolerance. It must define a distance value. - operation : Specifies the operation type for the result when the final result is a closed solid. Otherwise - this argument is ignored. - Returns the newly created StitchFeatureInput object or null if the creation failed. + Function that returns the specified rigid group using a name. + name : The name of the item within the list to return. + Returns the specified item or null if an invalid name was specified. """ - return StitchFeatureInput() - def add(self, input: StitchFeatureInput) -> StitchFeature: + return RigidGroup() + @property + def count(self) -> int: """ - Creates a new stitch feature. - input : A StitchFeatureInput object that defines the desired stitch feature. Use the createInput - method to create a new StitchFeatureInput object and then use methods on it - (the StitchFeatureInput object) to define the stitch feature. - Returns the newly created StitchFeature object or null if the creation failed. + Returns number of rigid groups in the list. """ - return StitchFeature() - def itemByName(self, name: str) -> StitchFeature: + return int() + +class RigidGroups(core.Base): + """ + The collection of rigid groups in this component. This provides access to all existing + rigid groups and supports the ability to create new rigid groups. + """ + def __init__(self): + pass + @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 stitch 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. + Function that returns the specified rigid group 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 StitchFeature() + return RigidGroup() + def itemByName(self, name: str) -> RigidGroup: + """ + Function that returns the specified rigid group 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 RigidGroup() + def add(self, occurrences: core.ObjectCollection, includeChildren: bool) -> RigidGroup: + """ + Creates a new rigid group. + occurrences : An ObjectCollection containing the occurrences to use in creating the rigid group. + includeChildren : Boolean indicating if the children of the input occurrences should be included in the rigid group. + Returns the new RigidGroup object or null in the case of failure. + """ + return RigidGroup() @property def count(self) -> int: """ - The number of Stitch features in the collection. + Returns number of joint origins in the collection. """ return int() -class SurfaceDeleteFaceFeatures(core.Base): +class RipFeatureDefinition(core.Base): """ - Collection that provides access to all of the existing SurfaceDeleteFaceFeature features in a component - and supports the ability to create new SurfaceDeleteFaceFeature features. - - The SurfaceDeleteFaceFeature and DeleteFaceFeature differ in that the SurfaceDeleteFaceFeature - can delete any face without any restrictions. If the body is a solid, it will become a surface - when the first face is deleted. The specified face is deleted without any other changes being - made to the body. The DeleteFaceFeature deletes the specified face and also modifies the other faces - in the body to heal or fill in the area of the deleted face. This means that a solid body will - remain solid. + A Base class to return the information used to define the RipFeature. """ def __init__(self): pass @staticmethod - def cast(arg) -> SurfaceDeleteFaceFeatures: - return SurfaceDeleteFaceFeatures() - def item(self, index: int) -> SurfaceDeleteFaceFeature: + 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: """ - Function that returns the specified SurfaceDeleteFaceFeature object using an index into the collection. + 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 SurfaceDeleteFaceFeature() - def itemByName(self, name: str) -> SurfaceDeleteFaceFeature: + return RipFeature() + def itemByName(self, name: str) -> RipFeature: """ - Function that returns the specified SurfaceDeleteFaceFeature object using the name of the feature. + 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 SurfaceDeleteFaceFeature() - def add(self, facesToDelete: core.Base) -> SurfaceDeleteFaceFeature: + return RipFeature() + def createRipFeatureInput(self) -> RipFeatureInput: """ - Creates a new SurfaceDeleteFaceFeature feature. This deletes the specified faces - from their bodies without any attempt to heal the openings. This is equivalent - to selecting and deleting faces when in the Patch workspace. - facesToDelete : A single BRepFace or an ObjectCollection containing multiple BRepFace objects. - Returns the newly created SurfaceDeleteFaceFeature object or null if the creation failed. + 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 SurfaceDeleteFaceFeature() + 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 SurfaceDeleteFaceFeature objects in the collection. + The number of Rip features in the collection. """ return int() -class SweepFeatureInput(core.Base): +class RuledSurfaceFeatureInput(core.Base): """ - This class defines the methods and properties that pertain to the definition of a sweep - feature. + This class defines the methods and properties that pertain to the definition of a Ruled Surface feature. """ def __init__(self): pass @staticmethod - def cast(arg) -> SweepFeatureInput: - return SweepFeatureInput() + def cast(arg) -> RuledSurfaceFeatureInput: + return RuledSurfaceFeatureInput() @property def profile(self) -> core.Base: """ - Gets and sets the profiles or planar faces used to define the shape of the sweep. - This property can return or be set with a single Profile, a single planar face, or - an ObjectCollection consisting of multiple profiles and planar faces. When an - ObjectCollection is used all of the profiles and faces must be co-planar. + Gets and sets the Profile object that defines the sketch geometry or edges that define the shape of + the ruled surface. The Component.createBRepEdgeProfile method is useful to create a profile defined from edges. """ return core.Base() @profile.setter def profile(self, value: core.Base): """ - Gets and sets the profiles or planar faces used to define the shape of the sweep. - This property can return or be set with a single Profile, a single planar face, or - an ObjectCollection consisting of multiple profiles and planar faces. When an - ObjectCollection is used all of the profiles and faces must be co-planar. + Gets and sets the Profile object that defines the sketch geometry or edges that define the shape of + the ruled surface. The Component.createBRepEdgeProfile method is useful to create a profile defined from edges. """ pass @property - def operation(self) -> FeatureOperations: + def creationOccurrence(self) -> Occurrence: """ - Gets and sets the type of operation performed by the sweep. + In order for geometry to be transformed correctly, an Occurrence for creation needs to be + specified when the Ruled Surface is created based on geometry (e.g. a profile) + in another component AND (the Ruled Surface) is not in the root component. + The CreationOccurrence is analogous to the active occurrence in the UI """ - return FeatureOperations() - @operation.setter - def operation(self, value: FeatureOperations): + return Occurrence() + @creationOccurrence.setter + def creationOccurrence(self, value: Occurrence): """ - Gets and sets the type of operation performed by the sweep. + In order for geometry to be transformed correctly, an Occurrence for creation needs to be + specified when the Ruled Surface is created based on geometry (e.g. a profile) + in another component AND (the Ruled Surface) is not in the root component. + The CreationOccurrence is analogous to the active occurrence in the UI """ pass @property - def path(self) -> Path: + def distance(self) -> core.ValueInput: """ - Gets and sets the path to create the sweep. + Gets and sets the ValueInput object that defines the Ruled Surface distance. If the value input is + a real value it will define the distance in centimeters. """ - return Path() - @path.setter - def path(self, value: Path): + return core.ValueInput() + @distance.setter + def distance(self, value: core.ValueInput): """ - Gets and sets the path to create the sweep. + Gets and sets the ValueInput object that defines the Ruled Surface distance. If the value input is + a real value it will define the distance in centimeters. """ pass @property - def distanceOne(self) -> core.ValueInput: + def angle(self) -> core.ValueInput: """ - Gets and sets the distance for the first side. - The distance is a value from 0 to 1 indicating the position along the path where 0 - is at the start and 1 is at the end. The value is default to 1.0. + Gets and sets the ValueInput object that defines the Ruled Surface angle. + If the input is a real value, the units are radians. """ return core.ValueInput() - @distanceOne.setter - def distanceOne(self, value: core.ValueInput): - """ - Gets and sets the distance for the first side. - The distance is a value from 0 to 1 indicating the position along the path where 0 - is at the start and 1 is at the end. The value is default to 1.0. + @angle.setter + def angle(self, value: core.ValueInput): + """ + Gets and sets the ValueInput object that defines the Ruled Surface angle. + If the input is a real value, the units are radians. """ pass @property - def distanceTwo(self) -> core.ValueInput: + def ruledSurfaceType(self) -> RuledSurfaceTypes: """ - Gets and sets the distance for the second side. - The distance is a value from 0 to 1 indicating the position along the path where 0 - is at the start and 1 is at the end. The value defaults to 0 in the case where the path is closed, otherwise it defaults to 1.0. - It is ignored if the path is only on one side of the profile or if the sweep definition includes a guide rail. - It's always the distance against the normal of the profile if available. + Gets and sets the type of ruled surface to create. To set this to DirectionRuledSurfaceType, + use the direction property to set the direction entity, which will automatically set + this to DirectionRuledSurfaceType. """ - return core.ValueInput() - @distanceTwo.setter - def distanceTwo(self, value: core.ValueInput): + return RuledSurfaceTypes() + @ruledSurfaceType.setter + def ruledSurfaceType(self, value: RuledSurfaceTypes): """ - Gets and sets the distance for the second side. - The distance is a value from 0 to 1 indicating the position along the path where 0 - is at the start and 1 is at the end. The value defaults to 0 in the case where the path is closed, otherwise it defaults to 1.0. - It is ignored if the path is only on one side of the profile or if the sweep definition includes a guide rail. - It's always the distance against the normal of the profile if available. + Gets and sets the type of ruled surface to create. To set this to DirectionRuledSurfaceType, + use the direction property to set the direction entity, which will automatically set + this to DirectionRuledSurfaceType. """ pass @property - def orientation(self) -> SweepOrientationTypes: + def direction(self) -> core.Base: """ - Gets and sets the sweep orientation. It defaults to PerpendicularOrientationType. - This property is ignored when a guide rail has been specified. + Gets and sets the entity that defines the direction when the ruled surface type is DirectionRuledSurfaceType. + The direction is specified by providing a linear or planar entity. For example, a linear edge, construction axis, + planar face, or construction plane can be used as input. + + If this property is set when the ruledSurfaceType is not DirectionRuledSurfaceType, the type will automatically be + changed to DirectionRuledSurfaceType. If you get this property when the direction is not DirectionRuledSurfaceType, + it will return null. """ - return SweepOrientationTypes() - @orientation.setter - def orientation(self, value: SweepOrientationTypes): + return core.Base() + @direction.setter + def direction(self, value: core.Base): """ - Gets and sets the sweep orientation. It defaults to PerpendicularOrientationType. - This property is ignored when a guide rail has been specified. + Gets and sets the entity that defines the direction when the ruled surface type is DirectionRuledSurfaceType. + The direction is specified by providing a linear or planar entity. For example, a linear edge, construction axis, + planar face, or construction plane can be used as input. + + If this property is set when the ruledSurfaceType is not DirectionRuledSurfaceType, the type will automatically be + changed to DirectionRuledSurfaceType. If you get this property when the direction is not DirectionRuledSurfaceType, + it will return null. """ pass @property - def creationOccurrence(self) -> Occurrence: + def alternateFace(self) -> bool: """ - In order for geometry to be transformed correctly, an Occurrence for creation needs to be - specified when the sweep is created based on geometry (e.g. a profile and/or face(s)) - in another component AND (the sweep) is not in the root component. - The CreationOccurrence is analogous to the active occurrence in the UI + Gets and sets if the other face is used for creation of the Ruled Surface. + When creating a ruled surface using the edges of a solid or the interior edges + of a surface the angle of the ruled surface is measured with respect to the + face the selected edge is bounding. For a solid, or an interior edge on a surface, + the edge connects to two faces. This setting toggles which of the two faces will + be used for measuring the angle. """ - return Occurrence() - @creationOccurrence.setter - def creationOccurrence(self, value: Occurrence): + return bool() + @alternateFace.setter + def alternateFace(self, value: bool): """ - In order for geometry to be transformed correctly, an Occurrence for creation needs to be - specified when the sweep is created based on geometry (e.g. a profile and/or face(s)) - in another component AND (the sweep) is not in the root component. - The CreationOccurrence is analogous to the active occurrence in the UI + Gets and sets if the other face is used for creation of the Ruled Surface. + When creating a ruled surface using the edges of a solid or the interior edges + of a surface the angle of the ruled surface is measured with respect to the + face the selected edge is bounding. For a solid, or an interior edge on a surface, + the edge connects to two faces. This setting toggles which of the two faces will + be used for measuring the angle. """ pass @property - def isSolid(self) -> bool: + def targetBaseFeature(self) -> BaseFeature: """ - Specifies if the sweep should be created as a solid or surface. If - it's a surface then there aren't any end caps and it's open. This is - initialized to true so a solid will be created if it's not changed. + 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 bool() - @isSolid.setter - def isSolid(self, value: bool): + return BaseFeature() + @targetBaseFeature.setter + def targetBaseFeature(self, value: BaseFeature): """ - Specifies if the sweep should be created as a solid or surface. If - it's a surface then there aren't any end caps and it's open. This is - initialized to true so a solid will be created if it's not changed. + 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 guideRail(self) -> Path: + def operation(self) -> FeatureOperations: """ - Gets and sets the guide rail to create the sweep. This can be set to - null to remove the guide rail definition and have a single path sweep feature. + Gets and sets the type of operation performed by the ruled surface. """ - return Path() - @guideRail.setter - def guideRail(self, value: Path): + return FeatureOperations() + @operation.setter + def operation(self, value: FeatureOperations): """ - Gets and sets the guide rail to create the sweep. This can be set to - null to remove the guide rail definition and have a single path sweep feature. + Gets and sets the type of operation performed by the ruled surface. """ pass @property - def isDirectionFlipped(self) -> bool: + def cornerType(self) -> RuledSurfaceCornerTypes: """ - Gets and sets if the direction of the sweep is flipped. - This property only applies to sweep features that include a guide rail and whose path runs on both - sides of the profile. + Gets and sets the corner type for the ruled surface, indicating if the corners will be rounded or mitered. + The default value is rounded. """ - return bool() - @isDirectionFlipped.setter - def isDirectionFlipped(self, value: bool): + return RuledSurfaceCornerTypes() + @cornerType.setter + def cornerType(self, value: RuledSurfaceCornerTypes): """ - Gets and sets if the direction of the sweep is flipped. - This property only applies to sweep features that include a guide rail and whose path runs on both - sides of the profile. + Gets and sets the corner type for the ruled surface, indicating if the corners will be rounded or mitered. + The default value is rounded. """ pass - @property - def profileScaling(self) -> SweepProfileScalingOptions: + +class RuledSurfaceFeatures(core.Base): + """ + Collection that provides access to all of the existing Ruled Surface features in a component + and supports the ability to create new Ruled Surface features. + """ + def __init__(self): + pass + @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: """ - Gets and sets the sweep profile scaling option. It defaults to SweepProfileScaleOption. - This property is only used when a guide rail has been specified. + Function that returns the specified ruled surface 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 SweepProfileScalingOptions() - @profileScaling.setter - def profileScaling(self, value: SweepProfileScalingOptions): + return RuledSurfaceFeature() + def createInput(self, profile: core.Base, distance: core.ValueInput, angle: core.ValueInput, ruledSurfaceType: RuledSurfaceTypes, direction: core.Base = None) -> RuledSurfaceFeatureInput: """ - Gets and sets the sweep profile scaling option. It defaults to SweepProfileScaleOption. - This property is only used when a guide rail has been specified. + 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. + profile : A Profile object that defines the sketch geometry or edges that define the shape of the ruled surface. The Component.createBRepEdgeProfile + method is useful to create a profile defined from edges. + distance : ValueInput object that defines the extension distance of the Ruled Surface.. + angle : ValueInput object that defines angle to use when creating the Ruled Surface. When the input is a real value, the units are radians. + ruledSurfaceType : The Ruled Surface type (TangentRuledSurfaceType, NormalRuledSurfaceType, or DirectionRuledSurfaceType). + direction : If the ruled surface type is DirectionRuledSurfaceType, you must specify the direction. The direction is specified by + providing a linear or planar entity. For example, a linear edge, construction axis, planar face, or construction plane can be used as input. + Returns the newly created RuledSurfaceFeatureInput object or null if the creation failed. + """ + return RuledSurfaceFeatureInput() + def add(self, input: RuledSurfaceFeatureInput) -> RuledSurfaceFeature: + """ + Creates a new RuledSurface feature. + input : An RuledSurfaceFeatureInput object that defines the desired RuledSurface feature. Use the createInput + method to create a new RuledSurfaceFeatureInput object and then use methods on it + (the RuledSurfaceFeatureInput object) to define the desired options for the ruled surface feature. + Returns the newly created RuledSurfaceFeature object or null if the creation failed. + """ + return RuledSurfaceFeature() + def itemByName(self, name: str) -> RuledSurfaceFeature: + """ + Function that returns the specified RuledSurface 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 RuledSurfaceFeature() + @property + def count(self) -> int: + """ + The number of RuledSurface features in the collection. + """ + return int() + +class RuleFilletFeatureInput(core.Base): + """ + This class defines the methods and properties that pertain to the definition of a rule fillet feature. + """ + def __init__(self): pass + @staticmethod + def cast(arg) -> RuleFilletFeatureInput: + return RuleFilletFeatureInput() + def setAsymmetricOffsets(self, offsetOne: core.ValueInput, offsetTwo: core.ValueInput) -> bool: + """ + Sets the fillet to be an asymmetric fillet and defines the two offsets. + offsetOne : A ValueInput object that defines the offset distance of the fillet in the first direction. 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. + offsetTwo : A ValueInput object that defines the offset distance of the fillet in the second direction. 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. + Returns true if successful. + """ + return bool() + def setByAllEdges(self, facesOrFeatures: list[core.Base]) -> bool: + """ + Method that adds an array of BRepFace and/or Feature objects to have all their edges to be filleted. + Calling this method will set ruleType to RuleFilletRuleTypes.AllEdgesRuleFilletRuleType. + facesOrFeatures : Input faces and/or features to have all their edges to be filleted. + Returns true if the operation was successful. + """ + return bool() + def setByBetweenFacesOrFeatures(self, facesOrFeaturesOne: list[core.Base], facesOrFeaturesTwo: list[core.Base]) -> bool: + """ + Method that adds two sets of BRepFace and/or Feature objects to have the edges between them filleted. + Call this method will set ruleType to RuleFilletRuleTypes.BetweenFacesOrFeaturesRuleFilletRuleType. + facesOrFeaturesOne : Input first array of BRepFace and/or Feature objects. + facesOrFeaturesTwo : Input second array of BRepFace and/or Feature objects. + Returns true if the operation was successful. + """ + return bool() @property def targetBaseFeature(self) -> BaseFeature: """ @@ -18696,452 +27769,312 @@ def targetBaseFeature(self, value: BaseFeature): """ 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]): + def ruleType(self) -> RuleFilletRuleTypes: """ - 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. + Gets the rule type for the rule fillet. """ - pass + return RuleFilletRuleTypes() @property - def taperAngle(self) -> core.ValueInput: + def radius(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 radius of the fillet. Setting this will set the fillet to a constant radius fillet and + any asymmetric information will be lost. Returns null in the case the fillet is asymmetric. """ return core.ValueInput() - @taperAngle.setter - def taperAngle(self, value: core.ValueInput): + @radius.setter + def radius(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 radius of the fillet. Setting this will set the fillet to a constant radius fillet and + any asymmetric information will be lost. Returns null in the case the fillet is asymmetric. """ pass @property - def twistAngle(self) -> core.ValueInput: + def asymmetricOffsetOne(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. + Returns the current first offset for an asymmetric fillet. Use setAsymmetricOffsets to set + the offsets. Returns null in the case where the fillet is a constant radius fillet. """ return core.ValueInput() - @twistAngle.setter - def twistAngle(self, value: core.ValueInput): + @property + def asymmetricOffsetTwo(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. + Returns the current second offset for an asymmetric fillet. Use setAsymmetricOffsets to set + the offsets. Returns null in the case where the fillet is a constant radius fillet. """ - pass + return core.ValueInput() @property - def extent(self) -> SweepExtentTypes: + def topologyType(self) -> RuleFilletTopologyTypes: """ - Gets and sets the sweep extent type. It defaults to PerpendicularToPathExtentType. - This property is ignored when a guide rail has not been specified. + Gets and sets the topology type of the rule fillet. """ - return SweepExtentTypes() - @extent.setter - def extent(self, value: SweepExtentTypes): + return RuleFilletTopologyTypes() + @topologyType.setter + def topologyType(self, value: RuleFilletTopologyTypes): """ - Gets and sets the sweep extent type. It defaults to PerpendicularToPathExtentType. - This property is ignored when a guide rail has not been specified. + Gets and sets the topology type of the rule fillet. """ pass - -class SweepFeatures(core.Base): - """ - Collection that provides access to all of the existing sweep features in a component - and supports the ability to create new sweep features. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> SweepFeatures: - return SweepFeatures() - def item(self, index: int) -> SweepFeature: + @property + def isRollingBallCorner(self) -> bool: """ - Function that returns the specified sweep 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. + Gets and sets if a rolling ball or setback solution is to be used in any corners. A value of true will create a rolling ball fillet. """ - return SweepFeature() - def createInput(self, profile: core.Base, path: Path, operation: FeatureOperations) -> SweepFeatureInput: + return bool() + @isRollingBallCorner.setter + def isRollingBallCorner(self, value: bool): """ - Creates a SweepFeatureInput object for defining a simple sweep feature with only a path and no guide rail. - Use properties and methods on this object to define the sweep you want to create and then use the Add method, - passing in the SweepFeatureInput object. - profile : The profile argument can be a single Profile, a single - planar face, or an ObjectCollection consisting of multiple profiles and planar faces. - When an ObjectCollection is used all of the profiles and faces must be co-planar. - path : The path to create the sweep. - operation : The feature operation to perform - Returns the newly created SweepFeatureInput object or null if the creation failed. + Gets and sets if a rolling ball or setback solution is to be used in any corners. A value of true will create a rolling ball fillet. """ - return SweepFeatureInput() - def add(self, input: SweepFeatureInput) -> SweepFeature: + pass + @property + def facesOrFeatures(self) -> list[core.Base]: """ - Creates a new sweep feature. - input : A SweepFeatureInput object that defines the desired sweep. Use the createInput - method to create a new SweepFeatureInput object and then use methods on it - (the SweepFeatureInput object) to define the sweep. - Returns the newly created SweepFeature object or null if the creation failed. + Gets an array of BRepFace and/or Feature objects that are to have all their edges filleted. + This is applicable only when ruleType is RuleFilletRuleTypes.AllEdgesRuleFilletRuleType. + This is set by the setByAllEdges method. """ - return SweepFeature() - def itemByName(self, name: str) -> SweepFeature: + return [core.Base()] + @property + def facesOrFeaturesOne(self) -> list[core.Base]: """ - Function that returns the specified sweep 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. + Gets the first array of BRepFace and/or Feature objects for between faces/features rule fillet. + This is applicable only when ruleType is RuleFilletRuleTypes.BetweenFacesOrFeaturesRuleFilletRuleType. + This is set by the setByBetweenFacesOrFeatures method. """ - return SweepFeature() + return [core.Base()] @property - def count(self) -> int: + def facesOrFeaturesTwo(self) -> list[core.Base]: """ - The number of sweep features in the collection. + Gets the second array of BRepFace and/or Feature objects for between faces/features rule fillet. + This is applicable only when ruleType is RuleFilletRuleTypes.BetweenFacesOrFeaturesRuleFilletRuleType. + This is set by the setByBetweenFacesOrFeatures method. """ - return int() + return [core.Base()] -class TemporaryBRepManager(core.Base): +class RuleFilletSettings(core.Base): """ - A utility object that provides functionality to create and manipulate B-Rep data outside - the context of a document. The provides direct access to the modeling core without the - overhead of parametrics, persistence, transactions, or graphics. It also provides a way - of directly defining and creating B-Rep data. + The settings for the rule fillet feature. """ def __init__(self): pass @staticmethod - def cast(arg) -> TemporaryBRepManager: - return TemporaryBRepManager() - @staticmethod - def get() -> TemporaryBRepManager: - """ - Gets the TempoaryBRepManager object. This object provides access to functionality to - create an manipulate temporary B-Rep data outside the context of a document. - Returns the TemporaryBRepManager object. - """ - return TemporaryBRepManager() - def copy(self, bRepEntity: core.Base) -> BRepBody: - """ - Creates a temporary copy of the input BRepBody, BRepFace, or BRepEdge object. - bRepEntity : The BRepBody, BRepFace, BRepLoop, or BRepEdge to create a copy of. This can be a parametric - B-Rep entity or a temporary B-Rep entity. - Returns a BRepBody that contains the result. If a BRepBody is input the copy is - of the entire body. If a BRepFace is input, then the result is a BRepBody that - contains a single face. If a BRepLoop is input then the result is a BRepBody that - contains a wire where each edge in the loop will have a corresponding edge in the wire. - If a BRepEdge is input then the result is a BRepBody that contains a wire that contains - the single edge. - """ - return BRepBody() - def planeIntersection(self, body: BRepBody, plane: core.Plane) -> BRepBody: - """ - Calculates the intersection between the input body and plane and creates a - wire body that represents the intersection curves. - body : The BRepBody to intersection. - plane : The geometry Plane to intersect with the body. - Returns a BRepBody that contains a wire body that represents the intersection. - """ - return BRepBody() - def createRuledSurface(self, sectionOne: BRepWire, sectionTwo: BRepWire) -> BRepBody: - """ - Creates a new body by creating a ruled surface between the two input wire bodies. - sectionOne : BRepWire that defines the shape of the first section. - sectionTwo : BRepWire that defines the shape of the second section. - Returns the created ruled surface as a BRepBody object. - """ - return BRepBody() - def createSilhouetteCurves(self, face: BRepFace, viewDirection: core.Vector3D, returnCoincidentSilhouettes: bool) -> BRepBody: + def cast(arg) -> RuleFilletSettings: + return RuleFilletSettings() + def setToConstantRadius(self, radius: core.ValueInput) -> bool: """ - Calculates the silhouette curve geometry for a given face as viewed from a given direction. - face : Input BRepFace object to calculate the silhouette curve for. - viewDirection : Input Vector3D object that defines the view direction to calculate the silhouette curve relative to. - The silhouette curve(s) will lie along the path where the face normal is perpendicular to the view direction. - returnCoincidentSilhouettes : Input Boolean that specifies if silhouette curves that are coincident to the edges of the face should be - returned or not. If true, these curves will be returned. - Returns a SurfaceBody object that will contain one or more BRepWire objects that represent the silhouette curve(s). - This method can return null in the case where there is not a silhouette curve for the specified face. + Changes the radius type to be constant. + radius : Input ValueInput object that defines the radius of the rule 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 BRepBody() - def deleteFaces(self, faces: list[BRepFace], deleteSpecifiedFaces: bool) -> bool: + return bool() + def setToAsymmetric(self, offsetOne: core.ValueInput, offsetTwo: core.ValueInput) -> bool: """ - Deletes one or more faces from a temporary BRepBody. The body that will be modified is determined - by getting the parent body of the input faces. - faces : An array of BRepFace objects to delete. If more than one face is provided, - all of the faces must exist within the same body. - deleteSpecifiedFaces : This allows you to either delete the faces that were input or to keep those faces and delete all the - other faces in the body. - Returns true if the operation was successful. + Changes the radius type to be asymmetric. + offsetOne : Input ValueInput object that defines the first offset of the asymmetric rule 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. + offsetTwo : Input ValueInput object that defines the second offset of the asymmetric rule 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 bool() - def booleanOperation(self, targetBody: BRepBody, toolBody: BRepBody, booleanType: BooleanTypes) -> bool: + def setByAllEdges(self, facesOrFeatures: list[core.Base]) -> bool: """ - Performs the specified Boolean operation between the two input bodies. The input bodies need - not be solid but can be faces that are combined or trimmed. - targetBody : The target body that will be modified as a result of the Boolean operation. - toolBody : The tool body that will be used to operate on the target body. - booleanType : The type of Boolean operation to perform. - Returns true if the operation was successful. If successful, the target body is modified as a result of the - Boolean operation. Because of this the targetBody must always be a temporary BRepBody. The tool body is not - modified. This is analogous to a machining operation where you have the target that is being machined and - the tool that removes material. + Method that adds an array of BRepFace and/or Feature objects to have all their edges filleted. + Calling this method will set ruleType to RuleFilletRuleTypes.AllEdgesRuleFilletRuleType. + facesOrFeatures : Input faces and/or features to have all their edges to be filleted. + Returns true if the operation was successful. """ return bool() - def transform(self, body: BRepBody, transform: core.Matrix3D) -> bool: + def setByBetweenFacesOrFeatures(self, facesOrFeaturesOne: list[core.Base], facesOrFeaturesTwo: list[core.Base]) -> bool: """ - Transforms the input body using the specified transformation matrix. - body : The BRepBody object to transform. - transform : The transformation matrix that defines the transform to apply to the body. - Returns true if the specified transform was successfully applied to the body. + Method that adds two sets of BRepFace and/or Feature objects to have the edges between them filleted. + Call this method will set ruleType to RuleFilletRuleTypes.BetweenFacesOrFeaturesRuleFilletRuleType. + facesOrFeaturesOne : Input first array of BRepFace and/or Feature objects. + facesOrFeaturesTwo : Input second array of BRepFace and/or Feature objects. + Returns true if the operation was successful. """ return bool() - def createFromFile(self, filename: str) -> BRepBodies: + @property + def ruleType(self) -> RuleFilletRuleTypes: """ - Creates new BRepBody objects based on the contents of the specified file. - filename : The full path and name of the file to read in. This can be a SMT, SMB, SAT, or SAB file. - A BRepBodies collection object is returned which can contain multiple BRepBody objects. - null is returned in the case where it was unable to read the file. + Gets the rule type for the rule fillet. """ - return BRepBodies() - def exportToFile(self, bodies: list[BRepBody], filename: str) -> bool: + return RuleFilletRuleTypes() + @property + def isConstantRadius(self) -> bool: """ - Exports the input bodies to the specified file. - bodies : An array of BRepBody objects that you want to export. - filename : The filename to write the BRepBody objects to. The type of file to create - is inferred from the extension of the file. The valid extensions are ".sat" and ".smt". - Returns true if the export was successful. + Gets and sets if the rule fillet is a constant or asymmetric radius type. """ return bool() - def createBox(self, box: core.OrientedBoundingBox3D) -> BRepBody: + @property + def radius(self) -> ModelParameter: """ - Creates a new temporary solid box BRepBody object. - box : The OrientedBoundingBox3D object that defines the position, orientation, and - size of the box to crate. - Returns the newly created temporary BRepBody object or null in the case of failure. + Gets the parameter controlling the radius of a constant radius rule fillet. + This property will return null when isConstantRadius is false. + To edit the radius, use properties on the parameter to change the value of the parameter. """ - return BRepBody() - def createCylinderOrCone(self, pointOne: core.Point3D, pointOneRadius: float, pointTwo: core.Point3D, pointTwoRadius: float) -> BRepBody: + return ModelParameter() + @property + def asymmetricOffsetOne(self) -> ModelParameter: """ - Creates a temporary solid cylinder or cone BRepBody object. - pointOne : A point at one end of the cylinder or cone. - pointOneRadius : The radius of the cylinder or cone at the point one end, in centimeters. - pointTwo : A point at the opposite end of the cylinder or cone. - pointTwoRadius : The radius of the cylinder or cone at the point two end, in centimeters. - For a cylinder the pointTwoRadius should be equal to the pointOneRadius. - Returns the newly created temporary BRepBody object or null in the case of failure. + Gets the parameter controlling the first offset of this asymmetric rule fillet. + This property will return null when isConstantRadius is true. + To edit the offset, use properties on the parameter to change the value of the parameter. """ - return BRepBody() - def createEllipticalCylinderOrCone(self, pointOne: core.Point3D, pointOneMajorRadius: float, pointOneMinorRadius: float, pointTwo: core.Point3D, pointTwoMajorRadius: float, majorAxisDirection: core.Vector3D) -> BRepBody: + return ModelParameter() + @property + def asymmetricOffsetTwo(self) -> ModelParameter: """ - Creates a temporary elliptical solid cylinder or cone BrepBody object. - pointOne : A point at one end of the cylinder or cone. - pointOneMajorRadius : The major radius of the cylinder or cone at the point one end, in centimeters. - pointOneMinorRadius : The minor radius of the cylinder or cone at the point one end, in centimeters. - pointTwo : A point at the opposite end of the cone. - pointTwoMajorRadius : The major radius of the cylinder or cone at the point two end, in centimeters. The - minor radius is automatically determined using the point one ratio of the minor and major - radii. - majorAxisDirection : A Vector3D object that defines the direction of the major axis. - Returns the newly created temporary BRepBody object or null in the case of failure. + Gets the parameter controlling the second offset of this asymmetric rule fillet. + This property will return null when isConstantRadius is true. + To edit the offset, use properties on the parameter to change the value of the parameter. """ - return BRepBody() - def createSphere(self, center: core.Point3D, radius: float) -> BRepBody: + return ModelParameter() + @property + def topologyType(self) -> RuleFilletTopologyTypes: """ - Creates a temporary spherical BRepBody object. - center : The center point of the sphere. - radius : The radius of the sphere in centimeters. - Returns the newly created temporary BRepBody object or null in the case of failure. + Gets and sets the topology type of the rule fillet. + + 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 BRepBody() - def createTorus(self, center: core.Point3D, axis: core.Vector3D, majorRadius: float, minorRadius: float) -> BRepBody: + return RuleFilletTopologyTypes() + @topologyType.setter + def topologyType(self, value: RuleFilletTopologyTypes): """ - Creates a temporary toroidal BRepBody object. - center : The center point of the torus. - axis : The axis of the torus. - majorRadius : The radius, in centimeters, of the major radius of the torus. If the torus was created - by sweeping a circle around another circle this would be the radius of the path circle. - minorRadius : The radius, in centimeters, of the minor radius of the torus. If the torus was created - by sweeping a circle around another circle this would be the radius of the profile circle. - Returns the newly created temporary BRepBody object or null in the case of failure. + Gets and sets the topology type of the rule fillet. + + 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 BRepBody() - def createFaceFromPlanarWires(self, wireBodies: list[BRepBody]) -> BRepBody: + pass + @property + def facesOrFeatures(self) -> list[core.Base]: """ - Creates a body from multiple wires that all lie within the same plane. Multiple wires are - used when creating a plane with interior holes. One wire defines the outer shape and the - other wires define the interior loops of the created face. - wireBodies : An array of bodies that contain planar wires. Each wire must be closed, they should not overlap, - and they should all lie on the same plane. - Returns a BRepBody containing the created BRepFace object or null in the case of failure. + Gets an array of BRepFace and/or Feature objects that have all their edges filleted. + This returns an empty array if ruleType is not RuleFilletRuleTypes.AllEdgesRuleFilletRuleType. + + 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() - def imprintOverlapBodies(self, bodyOne: BRepBody, bodyTwo: BRepBody, imprintCoincidentEdges: bool, tolerance: float) -> tuple[bool, BRepBody, BRepBody, list[BRepFace], list[BRepFace], list[BRepEdge], list[BRepEdge]]: + return [core.Base()] + @property + def facesOrFeaturesOne(self) -> list[core.Base]: """ -

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.

+ Gets the first array of BRepFace and/or Feature objects for between faces/features rule fillet. + This returns an empty array if ruleType is not RuleFilletRuleTypes.BetweenFacesOrFeaturesRuleFilletRuleType. -

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.

- 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 - 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.

-

- 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 - collection returned here and that returned by the bodyTwoOverlappingFaces are overlapping. - bodyTwoOverlappingFaces : Output array of BRepFace objects that represent the overlapping faces that are part of resultBodyTwo. Faces at the same index within the - collection returned here and that returned by the bodyOneOverlappingFaces are overlapping. - bodyOneOverlappingEdges : Output array of BRepEdge objects that represent the overlapping edges that are part of resultBodyOne. Edges at the same index within the - collection returned here and that returned by the bodyTwoOverlappingEdges are overlapping. - bodyTwoOverlappingEdges : Output array of BRepEdge objects that represent the overlapping edges that are part of resultBodyTwo. Edges at the same index within the - collection returned here and that returned by the bodyOneOverlappingEdges are overlapping. - tolerance : Optional Input double that specifies the tolerance, in centimeters, to use when comparing the bodies. If not specified, or a value of zero - is specified, the internal modeling tolerance will be used. - Returns true if the imprint calculation was successful. + 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(), BRepBody(), BRepBody(), [BRepFace()], [BRepFace()], [BRepEdge()], [BRepEdge()]) - def createWireFromCurves(self, curves: list[core.Curve3D], allowSelfIntersections: bool) -> tuple[BRepBody, list[BRepEdge]]: + return [core.Base()] + @property + def facesOrFeaturesTwo(self) -> list[core.Base]: """ - 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. - edgeMap : An array of edges in the returned body. The order that the edges are in this collection is the - same order as the original corresponding Curve3D object is in the input curves array. This allows you to - map between the original input curve and created edge. - allowSelfIntersections : Specifies if you want to allow self-intersection in the input curves or not. - Returns the B-Rep body containing the created wire or null in the case of failure. - """ - return (BRepBody(), [BRepEdge()]) - def createHelixWire(self, axisPoint: core.Point3D, axisVector: core.Vector3D, startPoint: core.Point3D, pitch: float, turns: float, taperAngle: float) -> BRepBody: - """ - Creates a B-Rep body that contains a wire with a single edge that represents a helical curve. - axisPoint : A Point3D object that defines a point along the axis of the helix. - axisVector : A Vector3D object that defines the direction of the axis of the helix. - startPoint : A Point3D that defines the start point of the helix. This is a point on the helix and defines the starting - point of the helix. The distance of this point to the axis defines the starting radius of the helix. - pitch : The pitch of the helix, or the distance between each of the turns, in centimeters. - turns : The number of turns of the helix. - taperAngle : The taper angle of the helix in radians. - Returns a temporary BRepBody object that contains a wire body that is the shape of the - specified helix. Return null if the creation failed. + Gets the second array of BRepFace and/or Feature objects for between faces/features rule fillet. + This returns an empty array if ruleType is not RuleFilletRuleTypes.BetweenFacesOrFeaturesRuleFilletRuleType. + + 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() + return [core.Base()] -class TextureImage(core.Base): +class ScaleFeatureInput(core.Base): """ - Provides access to the image data associated with a texture map. + This class defines the methods and properties that pertain to the definition of a scale + feature. """ def __init__(self): pass @staticmethod - def cast(arg) -> TextureImage: - return TextureImage() - @property - def transform(self) -> core.Matrix2D: + def cast(arg) -> ScaleFeatureInput: + return ScaleFeatureInput() + def setToNonUniform(self, xScale: core.ValueInput, yScale: core.ValueInput, zScale: core.ValueInput) -> bool: """ - The transform of the texture image in parametric space. + Sets the scale factor for the x, y, z directions to define a non-uniform scale. + Calling this method will cause the isUniform property to be set to false. + This will fail if the inputEntities collection contains sketches or components. + xScale : A ValueInput object that defines the scale in the X direction. + yScale : A ValueInput object that defines the scale in the Y direction. + zScale : A ValueInput object that defines the scale in the Z direction. + Returns true if successful. """ - return core.Matrix2D() - -class ThickenFeatureInput(core.Base): - """ - This class defines the methods and properties that pertain to the definition of a Thicken feature. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> ThickenFeatureInput: - return ThickenFeatureInput() + return bool() @property - def inputFaces(self) -> core.ObjectCollection: + def inputEntities(self) -> core.ObjectCollection: """ - An ObjectCollection containing the face and/or patch bodies to thicken. + Gets and sets the input entities. + This collection can contain sketches, BRep bodies and T-Spline bodies in parametric modeling. + It can contain sketches, BRep bodies, T-Spline bodies, mesh bodies, root component and occurrences in non-parametric modeling. + If the scaling is non-uniform (the isUniform property is false), this collection cannot contain sketches or components. """ return core.ObjectCollection() - @inputFaces.setter - def inputFaces(self, value: core.ObjectCollection): + @inputEntities.setter + def inputEntities(self, value: core.ObjectCollection): """ - An ObjectCollection containing the face and/or patch bodies to thicken. + Gets and sets the input entities. + This collection can contain sketches, BRep bodies and T-Spline bodies in parametric modeling. + It can contain sketches, BRep bodies, T-Spline bodies, mesh bodies, root component and occurrences in non-parametric modeling. + If the scaling is non-uniform (the isUniform property is false), this collection cannot contain sketches or components. """ pass @property - def thickness(self) -> core.ValueInput: + def point(self) -> core.Base: """ - Gets and sets the ValueInput object that defines the thickness distance. + Gets and sets the origin point of the scale. This can be a BRepVertex, a SketchPoint or a ConstructionPoint. """ - return core.ValueInput() - @thickness.setter - def thickness(self, value: core.ValueInput): + return core.Base() + @point.setter + def point(self, value: core.Base): """ - Gets and sets the ValueInput object that defines the thickness distance. + Gets and sets the origin point of the scale. This can be a BRepVertex, a SketchPoint or a ConstructionPoint. """ pass @property - def isSymmetric(self) -> bool: + def scaleFactor(self) -> core.ValueInput: """ - Gets and sets whether to add thickness symmetrically or only on one side of the face/s to thicken + Gets and sets the scale factor used for a uniform scale. + Setting this value will cause the isUniform property to be set to true. """ - return bool() - @isSymmetric.setter - def isSymmetric(self, value: bool): + return core.ValueInput() + @scaleFactor.setter + def scaleFactor(self, value: core.ValueInput): """ - Gets and sets whether to add thickness symmetrically or only on one side of the face/s to thicken + Gets and sets the scale factor used for a uniform scale. + Setting this value will cause the isUniform property to be set to true. """ pass @property - def operation(self) -> FeatureOperations: + def isUniform(self) -> bool: """ - Gets and sets the feature operation to perform. + Gets if the scale is uniform. """ - return FeatureOperations() - @operation.setter - def operation(self, value: FeatureOperations): + return bool() + @property + def xScale(self) -> core.ValueInput: """ - Gets and sets the feature operation to perform. + Gets the scale in X direction. """ - pass + return core.ValueInput() @property - def isChainSelection(self) -> bool: + def yScale(self) -> core.ValueInput: """ - Get and sets whether faces that are tangentially connected to the input faces will be included in the thicken feature. + Gets the scale in Y direction. """ - return bool() - @isChainSelection.setter - def isChainSelection(self, value: bool): + return core.ValueInput() + @property + def zScale(self) -> core.ValueInput: """ - Get and sets whether faces that are tangentially connected to the input faces will be included in the thicken feature. + Gets the scale in Z direction. """ - pass + return core.ValueInput() @property def targetBaseFeature(self) -> BaseFeature: """ @@ -19169,1051 +28102,1178 @@ def targetBaseFeature(self, value: BaseFeature): """ pass -class ThickenFeatures(core.Base): +class ScaleFeatures(core.Base): """ - Collection that provides access to all of the existing Thicken features in a component - and supports the ability to create new Thicken features. + Collection that provides access to all of the existing scale features in a component + and supports the ability to create new scale features. """ def __init__(self): pass @staticmethod - def cast(arg) -> ThickenFeatures: - return ThickenFeatures() - def item(self, index: int) -> ThickenFeature: + 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 Thicken feature using an index into the collection. + Function that returns the specified scale 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 ThickenFeature() - def createInput(self, inputFaces: core.ObjectCollection, thickness: core.ValueInput, isSymmetric: bool, operation: FeatureOperations, isChainSelection: bool) -> ThickenFeatureInput: + return ScaleFeature() + def createInput(self, inputEntities: core.ObjectCollection, point: core.Base, scaleFactor: core.ValueInput) -> ScaleFeatureInput: """ - 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 - the ThickenFeatureInput object to create the feature. - inputFaces : The faces or patch bodies to thicken. Faces need not be from the same component or body, nor do they need to be - connected or touching one another. - thickness : ValueInput object that defines the thickness. - isSymmetric : A boolean value for setting whether to add thickness symmetrically or only on one side of the face/s to thicken - operation : The feature operation to perform. - isChainSelection : A boolean value for setting whether or not faces that are tangentially connected to - the input faces (if any) will be included in the thicken. The default value is true. - Returns the newly created ThickenFeatureInput object or null if the creation failed. + Creates a ScaleFeatureInput object. Use properties and methods on this object + to define the scale you want to create and then use the Add method, passing in + the ScaleFeatureInput object. + inputEntities : This collection can contain sketches, BRep bodies and T-Spline bodies in parametric modeling. + It can contain sketches, BRep bodies, T-Spline bodies, mesh bodies, root component and occurrences in non-parametric modeling. + point : Input a point as reference to scale. This can be a BRepVertex, a SketchPoint or a ConstructionPoint. + scaleFactor : The ValueInput object that defines the scale factor for uniform scale. + Returns the newly created ScaleFeatureInput object or null if the creation failed. """ - return ThickenFeatureInput() - def add(self, input: ThickenFeatureInput) -> ThickenFeature: + return ScaleFeatureInput() + def add(self, input: ScaleFeatureInput) -> ScaleFeature: """ - Creates a new Thicken feature. - input : A FeatureInput object that defines the desired Thicken feature. Use the createInput - method to create a new ThickenFeatureInput object and then use methods on it - (the ThickenFeatureInput object) to define the Thicken feature. - Returns the newly created ThickenFeature object or null if the creation failed. + Creates a new scale feature. + input : A ScaleFeatureInput object that defines the desired scale. Use the createInput + method to create a new ScaleFeatureInput object and then use methods on it + (the ScaleFeatureInput object) to define the scale. + Returns the newly created ScaleFeature object or null if the creation failed. + Returns nothing in the case where the feature is non-parametric. """ - return ThickenFeature() - def itemByName(self, name: str) -> ThickenFeature: + return ScaleFeature() + def itemByName(self, name: str) -> ScaleFeature: """ - Function that returns the specified thicken feature using the name of the feature. + Function that returns the specified scale 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 ThickenFeature() + return ScaleFeature() @property def count(self) -> int: """ - The number of Thicken features in the collection. + The number of scale features in the collection. """ return int() -class ThreadDataQuery(core.Base): +class SceneSettings(core.Base): """ - This object provides methods to query the thread data contained in the XML files in ThreadData folder within the - Fusion 360 install folder. You can use the queried values to create a ThreadInfo object that is then used to - create a thread feature. + Provides access to all the settings that control how the scene is rendered. """ def __init__(self): pass @staticmethod - def cast(arg) -> ThreadDataQuery: - return ThreadDataQuery() - def allSizes(self, threadType: str) -> list[str]: + def cast(arg) -> SceneSettings: + return SceneSettings() + def saveAsDefaults(self) -> bool: """ - Returns an array/list of all the available thread sizes for a given thread type. You can - use the allThreadTypes property to get the available thread types. - threadType : Specify the thread type. - Returns the specified thread sizes or an empty array/list if an invalid thread type was specified. + Saves all of the scene settings as the default settings for this Design. + Returns true if saving the defaults was successful. """ - return [str()] - def allDesignations(self, threadType: str, size: str) -> list[str]: + return bool() + def restoreDefaults(self) -> bool: """ - returns an array/list of all the available thread designations for a thread type of a given size. Valid - thread types and sizes and be obtained by using the allThreadTypes and allSizes functions. - threadType : The thread type of the designation you want. - size : The thread size of the designation you want. - Returns the specified thread designations or empty array/list if an invalid thread type or size was specified. + Changes all of the scene settings to the default values. + Returns true if setting to the default settings was successful. """ - return [str()] - def allClasses(self, isInternal: bool, threadType: str, designation: str) -> list[str]: + return bool() + @property + def brightness(self) -> float: """ - Returns and array/list of all the available classes for a thread type of a given thread designation. - isInternal : Indicates if the thread is an internal or external thread. - threadType : The thread type of the thread class you want. - designation : The thread designation of the thread class you want. - Returns the specified thread classes or empty array/list if an invalid thread type or designation was specified. + 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 [str()] - def threadTypeCustomName(self, threadType: str) -> str: + return float() + @brightness.setter + def brightness(self, value: float): """ - Method that returns the custom name for a given thread type. - threadType : The thread type you want to get the custom name for. - Returns the specified custom name or an empty string if an invalid thread type was specified. + 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 str() - def threadTypeUnit(self, threadType: str) -> str: + pass + @property + def groundPosition(self) -> core.Point3D: """ - Method that returns the unit for a given thread type. - threadType : The thread type you want to get the thread unit type for. - Returns the specified unit or an empty string if an invalid thread type was specified. + 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 str() - def recommendThreadData(self, modelDiameter: float, isInternal: bool, threadType: str) -> tuple[bool, str, str]: + return core.Point3D() + @groundPosition.setter + def groundPosition(self, value: core.Point3D): """ - Method that gets the recommended thread data for a given model diameter. - modelDiameter : The diameter of the cylinder the thread will be placed on. The units are centimeters. - isInternal : Indicates if the thread is an internal or external thread. - threadType : Specifies the thread type to query the thread data. - designation : The output thread designation. - threadClass : The output thread class. - Returns true if successful. + 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 (bool(), str(), str()) + pass @property - def allThreadTypes(self) -> list[str]: + 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. """ - Returns an array/list of all the available thread types (families). + return float() + @groundOffset.setter + def groundOffset(self, value: float): """ - return [str()] + 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 defaultInchThreadType(self) -> str: + def lightAngle(self) -> float: """ - Gets the default thread type for inch threads. + 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 str() + 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 defaultMetricThreadType(self) -> str: + def backgroundSolidColor(self) -> core.Color: """ - Gets the default thread type for metric threads. + 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. """ - return str() - -class ThreadFeatureInput(core.Base): - """ - This class defines the methods and properties that pertain to the definition of a thread - feature. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> ThreadFeatureInput: - return ThreadFeatureInput() @property - def inputCylindricalFace(self) -> BRepFace: + def backgroundEnvironment(self) -> RenderEnvironment: """ - Gets and sets the threaded face. In the case where there are multiple faces, only the first one is returned. - Setting this results in a thread being applied to only a single face. - It is recommended that you use the inputCylindricalfaces property in order to have full access to the collection of faces - to be threaded. + 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 BRepFace() - @inputCylindricalFace.setter - def inputCylindricalFace(self, value: BRepFace): + return RenderEnvironment() + @backgroundEnvironment.setter + def backgroundEnvironment(self, value: RenderEnvironment): """ - Gets and sets the threaded face. In the case where there are multiple faces, only the first one is returned. - Setting this results in a thread being applied to only a single face. - It is recommended that you use the inputCylindricalfaces property in order to have full access to the collection of faces - to be threaded. + 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 isModeled(self) -> bool: + def backgroundType(self) -> RenderSceneBackgroundTypes: """ - Gets and sets if the thread is physical or cosmetic thread. A value of true indicates a physical thread. - It defaults to false. + 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() - @isModeled.setter - def isModeled(self, value: bool): + @isGroundDisplayed.setter + def isGroundDisplayed(self, value: bool): """ - Gets and sets if the thread is physical or cosmetic thread. A value of true indicates a physical thread. - It defaults to false. + 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 isFullLength(self) -> bool: + def isGroundFlattened(self) -> bool: """ - Gets and sets if this thread is the full length of the cylinder. - It defaults to true. + Gets and sets if the ground plane is "textured" where the environment + image is mapped as a texture. """ return bool() - @isFullLength.setter - def isFullLength(self, value: bool): + @isGroundFlattened.setter + def isGroundFlattened(self, value: bool): """ - Gets and sets if this thread is the full length of the cylinder. - It defaults to true. + Gets and sets if the ground plane is "textured" where the environment + image is mapped as a texture. """ pass @property - def threadLength(self) -> core.ValueInput: + def isGroundReflections(self) -> bool: """ - Gets and sets the thread length. - It is only used in the case where the isFullLength property is false. + Gets and sets if objects are reflected on the ground plane. """ - return core.ValueInput() - @threadLength.setter - def threadLength(self, value: core.ValueInput): + return bool() + @isGroundReflections.setter + def isGroundReflections(self, value: bool): """ - Gets and sets the thread length. - It is only used in the case where the isFullLength property is false. + Gets and sets if objects are reflected on the ground plane. """ pass @property - def threadOffset(self) -> core.ValueInput: + def groundRoughness(self) -> float: """ - Gets and sets the thread offset. - The offset is the distance along the axis of the cylinder from the edge to the start of the thread. - It is only used in the case where the isFullLength property is false. - Returns nothing in the case where the feature is non-parametric. + 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 core.ValueInput() - @threadOffset.setter - def threadOffset(self, value: core.ValueInput): + return float() + @groundRoughness.setter + def groundRoughness(self, value: float): """ - Gets and sets the thread offset. - The offset is the distance along the axis of the cylinder from the edge to the start of the thread. - It is only used in the case where the isFullLength property is false. - Returns nothing in the case where the feature is non-parametric. + 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 threadLocation(self) -> ThreadLocations: + def cameraType(self) -> core.CameraTypes: """ - Gets and sets where the thread length is measured from. - This property is only used in the case where the isFullLength property is false. + Gets and sets the type of camera to use when rendering the scene. """ - return ThreadLocations() - @threadLocation.setter - def threadLocation(self, value: ThreadLocations): + return core.CameraTypes() + @cameraType.setter + def cameraType(self, value: core.CameraTypes): """ - Gets and sets where the thread length is measured from. - This property is only used in the case where the isFullLength property is false. + Gets and sets the type of camera to use when rendering the scene. """ pass @property - def threadInfo(self) -> ThreadInfo: + def cameraFocalLength(self) -> float: """ - Gets and sets the thread data. + 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 ThreadInfo() - @threadInfo.setter - def threadInfo(self, value: ThreadInfo): + return float() + @cameraFocalLength.setter + def cameraFocalLength(self, value: float): """ - Gets and sets the thread data. + 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 isRightHanded(self) -> bool: + def cameraExposure(self) -> float: """ - Gets and sets if the thread is right or left-handed thread. A value of true indicates a right-handed thread. - It defaults to true. + 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() - @isRightHanded.setter - def isRightHanded(self, value: bool): + @isDepthOfFieldEnabled.setter + def isDepthOfFieldEnabled(self, value: bool): """ - Gets and sets if the thread is right or left-handed thread. A value of true indicates a right-handed thread. - It defaults to true. + 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 inputCylindricalFaces(self) -> core.ObjectCollection: + def centerOfFocus(self) -> core.Point3D: """ - Gets and sets the cylindrical input faces. + 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.ObjectCollection() - @inputCylindricalFaces.setter - def inputCylindricalFaces(self, value: core.ObjectCollection): + return core.Point3D() + @centerOfFocus.setter + def centerOfFocus(self, value: core.Point3D): """ - Gets and sets the cylindrical input faces. + 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 targetBaseFeature(self) -> BaseFeature: + def depthOfFieldBlur(self) -> float: """ - 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. + 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. - 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. + 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 BaseFeature() - @targetBaseFeature.setter - def targetBaseFeature(self, value: BaseFeature): + return float() + @depthOfFieldBlur.setter + def depthOfFieldBlur(self, value: float): """ - 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. + 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. - 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. + 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 ThreadFeatures(core.Base): +class SectionAnalyses(core.Base): """ - Collection that provides access to all of the existing thread features in a component - and supports the ability to create new thread features. + 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) -> ThreadFeatures: - return ThreadFeatures() - def item(self, index: int) -> ThreadFeature: + 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: """ - Function that returns the specified thread 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. + 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 ThreadFeature() - def createInput(self, inputCylindricalFaces: core.Base, threadInfo: ThreadInfo) -> ThreadFeatureInput: - """ - Creates a ThreadFeatureInput object. This object is the API equivalent of the Thread feature dialog. It collects - the required input and once fully defined you can pass this object to the ThreadFeatures.add method to create - the thread feature. - inputCylindricalFaces : A single cylindrical BRep face or a collection of cylindrical BRep faces to thread. - A collection of faces must all be from either holes (for internal threading) or all from cylinders (for external threading). - Both internal and external threads cannot be created in the same feature. - The faces in a collection can come from different bodies or components. - threadInfo : The ThreadInfo object that defines the type and size of the thread to create. When creating a thread, the type and size - of the thread is specified by referencing thread information defined in one of the XML files in the ThreadData folder within - the Fusion 360 install folder. You can use the ThreadDataQuery object to query these XML files to find the specific thread you - want to create. The ThreadDataQuery object can be obtained by using the ThreadFeatures.threadDataQuery property. You then use - this information to create a ThreadInfo object using the ThreadFeatures.createThreadInfo method. - Returns the newly created ThreadFeatureInput object or null/None if the creation failed. - """ - return ThreadFeatureInput() - def createThreadInfo(self, isInternal: bool, threadType: str, threadDesignation: str, threadClass: str) -> ThreadInfo: + return SectionAnalysis() + def itemByName(self, name: str) -> SectionAnalysis: """ - Method that creates a new ThreadInfo object that can be used in creating thread features. - The ThreadInfo object that defines the type and size of the thread to create. When creating a thread, the type and size - of the thread is specified by referencing thread information defined in one of the XML files in the ThreadData folder within - the Fusion 360 install folder. You can use the ThreadDataQuery object to query these XML files to find the specific thread you - want to create. The ThreadDataQuery object can be obtained by using the ThreadFeatures.threadDataQuery property. - isInternal : Input Boolean that indicates if the thread is an internal or external thread. A value of true indicates an internal thread. - threadType : Input string that defines the thread type. - threadDesignation : Input string that contains the thread designation. - This is input as the full thread designation that will be used in a drawing for the thread call-out. - The nominal size and pitch information are extracted from the designation. - threadClass : Input string that defines the thread class. - Returns the newly created ThreadInfo object or null if the creation failed. + 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 ThreadInfo() - def add(self, input: ThreadFeatureInput) -> ThreadFeature: + return SectionAnalysis() + def createInput(self, cutPlaneEntity: core.Base, distance: float) -> SectionAnalysisInput: """ - Creates a new thread feature. - input : A ThreadFeatureInput object that defines the desired thread. Use the createInput - method to create a new ThreadFeatureInput object and then use methods on it - (the ThreadFeatureInput object) to define the thread. - Returns the newly created ThreadFeature object or null if the creation failed. + 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 ThreadFeature() - def itemByName(self, name: str) -> ThreadFeature: + return SectionAnalysisInput() + def add(self, input: SectionAnalysisInput) -> SectionAnalysis: """ - Function that returns the specified thread 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. + 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 ThreadFeature() + return SectionAnalysis() @property def count(self) -> int: """ - The number of thread features in the collection. + Returns the number of SectionAnalysis objects in the collection. """ return int() - @property - def threadDataQuery(self) -> ThreadDataQuery: - """ - Property that returns the ThreadDataQuery object. When creating a thread, the type and size of the thread - is specified by referencing thread information defined in one of the XML files in the ThreadData folder. - The ThreadDataQuery is an object that supports methods to query the existing threads defined in these files. - """ - return ThreadDataQuery() -class ThreadInfo(core.Base): +class SectionAnalysisInput(core.Base): """ - This class defines the methods and properties that define the type and size of a thread. This object is used - to create new thread features and to query and edit existing thread features. A new ThreadInfo object is created - by using the ThreadFeatures.createThreadInfo method. If the ThreadInfo object is obtained from an existing thread - feature, modifying properties on the ThreadInfo object will modify the feature. + 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) -> ThreadInfo: - return ThreadInfo() + 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 threadType(self) -> str: + def cutPlaneEntity(self) -> core.Base: """ - Returns and sets the string that defines the thread type. + 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 str() - @threadType.setter - def threadType(self, value: str): + return core.Base() + @cutPlaneEntity.setter + def cutPlaneEntity(self, value: core.Base): """ - Returns and sets the string that defines the thread type. + 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 threadSize(self) -> str: + def initialPosition(self) -> core.Matrix3D: """ - Returns the string that defines the thread size. This is + 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 str() + return core.Matrix3D() @property - def threadDesignation(self) -> str: + def transform(self) -> core.Matrix3D: """ - Returns and sets the string that defines the thread designation. + 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 str() - @threadDesignation.setter - def threadDesignation(self, value: str): + return core.Matrix3D() + @transform.setter + def transform(self, value: core.Matrix3D): """ - Returns and sets the string that defines the thread designation. + 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 threadClass(self) -> str: + def sectionColor(self) -> core.Color: """ - Returns and sets the string that defines the thread class. + 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 str() - @threadClass.setter - def threadClass(self, value: str): + return core.Color() + @sectionColor.setter + def sectionColor(self, value: core.Color): """ - Returns and sets the string that defines the thread class. + 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 isInternal(self) -> bool: + def isHatchShown(self) -> bool: """ - Returns and sets if the thread is an internal or external thread. A value of true indicates an internal thread. - It defaults to true. + 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() - @isInternal.setter - def isInternal(self, value: bool): + @isHatchShown.setter + def isHatchShown(self, value: bool): """ - Returns and sets if the thread is an internal or external thread. A value of true indicates an internal thread. - It defaults to true. + 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 SharedPointCoincident(core.Base): + """ + An object that is only used when a glyph representing a special type of coincident + constraint is selected in the user interface. An example of its use is when two lines + are connected at their endpoints. If you hover the mouse over the shared endpoint, a + coincident constraint glyph is displayed and highlights the two lines. Selecting the + glyph and deleting it will cause the lines to be separate. In this case, there isn't + a real coincident constraint, but the two lines share the same sketch point. The UI + uses this "fake" coincident constraint to indicate that the lines share the same point. + It also supports separating them when the glyph is deleted by creating a new point and + moving one of the lines to it. + + A selection returns this object when a glyph representing this special type of + coincident constraint is selected. It is only used for selections and provides access + to the highlighted entities when the glyph is selected. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SharedPointCoincident: + return SharedPointCoincident() @property - def threadAngle(self) -> float: + def point(self) -> SketchPoint: """ - Returns the value that defines the thread angle. The units are degrees. + Returns the sketch point that the sketch curves are connected to. """ - return float() + return SketchPoint() @property - def threadPitch(self) -> float: - """ - Returns the value that defines the thread pitch. The units are centimeters. - """ - return float() - @property - def majorDiameter(self) -> float: - """ - Returns the value that defines the major diameter. The units are centimeters. - """ - return float() - @property - def minorDiameter(self) -> float: + def curveOne(self) -> SketchCurve: """ - Returns the value that defines the minor diameter. The units are centimeters. + Returns the first sketch curve that is highlighted when the glyph was selected. """ - return float() + return SketchCurve() @property - def pitchDiameter(self) -> float: + def curveTwo(self) -> SketchCurve: """ - Returns the value that defines the pitch diameter. The units are centimeters. + Returns the second sketch curve that is highlighted when the glyph was selected. """ - return float() + return SketchCurve() -class Timeline(core.Base): +class SheetMetalRule(core.Base): """ - A collection of TimelineObjects in a parametric design. + A sheet metal rule. """ def __init__(self): pass @staticmethod - def cast(arg) -> Timeline: - return Timeline() - def moveToBeginning(self) -> bool: - """ - Moves the marker to the beginning of the timeline. - Returns true if the move is successful - """ - return bool() - def moveToEnd(self) -> bool: + def cast(arg) -> SheetMetalRule: + return SheetMetalRule() + def deleteMe(self) -> bool: """ - Moves the marker to the end of the timeline. - Returns true if the move is successful + 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() - def movetoNextStep(self) -> bool: + @property + def name(self) -> str: """ - Moves the marker to the next step in the timeline. - Returns true if the move is successful + 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 bool() - def moveToPreviousStep(self) -> bool: + return str() + @name.setter + def name(self, value: str): """ - Moves the marker to the previous step in the timeline. - Returns true if the move is successful + 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 bool() - def play(self) -> bool: + pass + @property + def thickness(self) -> SheetMetalRuleValue: """ - Plays the timeline beginning at the current position of the marker. - Returns true if playing the timeline was successful + The thickness of the part. Use the returned SheetMetalRuleValue + object to get and set the current value of the thickness. """ - return bool() - def item(self, index: int) -> TimelineObject: + return SheetMetalRuleValue() + @property + def kFactor(self) -> float: """ - Function that returns the specified item in the timeline using an index into the collection. - 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. + The K Factor value that is used when calculating the flat pattern. It must be + a value between 0 and 1. """ - return TimelineObject() - def deleteAllAfterMarker(self) -> bool: + return float() + @kFactor.setter + def kFactor(self, value: float): """ - Deletes all objects in the timeline that are after the current position of the marker. - Returns true if successful. + The K Factor value that is used when calculating the flat pattern. It must be + a value between 0 and 1. """ - return bool() + pass @property - def markerPosition(self) -> int: + def gap(self) -> SheetMetalRuleValue: """ - Gets and sets the current position of the marker where - 0 is at the beginning of the timeline and the value of Timeline.count is the end of the - timeline. + 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 int() - @markerPosition.setter - def markerPosition(self, value: int): + return SheetMetalRuleValue() + @property + def bendRadius(self) -> SheetMetalRuleValue: """ - Gets and sets the current position of the marker where - 0 is at the beginning of the timeline and the value of Timeline.count is the end of the - timeline. + The interior radius of the bends. Use the returned SheetMetalRuleValue + object to get and set the current value of the radius. """ - pass + return SheetMetalRuleValue() @property - def count(self) -> int: + def reliefWidth(self) -> SheetMetalRuleValue: """ - Returns the number of items in the collection. + 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 int() + return SheetMetalRuleValue() @property - def timelineGroups(self) -> TimelineGroups: + def reliefDepth(self) -> SheetMetalRuleValue: """ - Returns the collection of groups within the timeline. + 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 TimelineGroups() - -class TimelineGroups(core.Base): - """ - Provides access to the time line groups within a design and provides - methods to create new groups. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> TimelineGroups: - return TimelineGroups() - def add(self, startIndex: int, endIndex: int) -> TimelineGroup: + return SheetMetalRuleValue() + @property + def reliefRemnant(self) -> SheetMetalRuleValue: """ - Creates a new group within the timeline. The sequential set of items defined - by the start and end indices will be included in the group. A group cannot contains - another group so none of the items being grouped can be a group of this will fail. - startIndex : The index of the first item in the timeline that will be added to the group. - endIndex : The index of the last item in the timeline that will be added to the group. - Returns the created TimelineGroup object or null in the case of failure. + 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 TimelineGroup() - def item(self, index: int) -> TimelineGroup: + return SheetMetalRuleValue() + @property + def reliefShape(self) -> BendReliefShapes: """ - Function that returns the specified timeline group 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 the bend relief shape to use. """ - return TimelineGroup() - @property - def count(self) -> int: + return BendReliefShapes() + @reliefShape.setter + def reliefShape(self, value: BendReliefShapes): """ - Returns the number of items in the collection. + Gets and sets the bend relief shape to use. """ - return int() - -class TimelineObject(core.Base): - """ - Represents an object in the timeline. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> TimelineObject: - return TimelineObject() - def rollTo(self, rollBefore: bool) -> bool: + @property + def twoBendReliefShape(self) -> TwoBendReliefShapes: """ - Rolls the timeline by repositioning the marker to either before or after this object. - This method will fail if this is a timelineGroup object and the group is expanded. - rollBefore : Set rollBefore to true to reposition the marker before this object or to false to - reposition the marker after this object - Returns true if the move was successful + 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 bool() - def canReorder(self, beforeIndex: int) -> bool: + return TwoBendReliefShapes() + @twoBendReliefShape.setter + def twoBendReliefShape(self, value: TwoBendReliefShapes): """ - Checks to see if this object can be reordered to the specified position. - The default value of -1 indicates the end of the timeline. + Gets and sets the relief shape to use when two bends intersect. - This method will fail if this is a timelineGroup object and the group is expanded. - beforeIndex : The index number of the position in the timeline to check - Returns true if the object can be reordered to the specified position + 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 bool() - def reorder(self, beforeIndex: int) -> bool: + pass + @property + def twoBendReliefSize(self) -> SheetMetalRuleValue: """ - 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 - group is expanded. + 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 bool() + return SheetMetalRuleValue() @property - def isSuppressed(self) -> bool: + def twoBendReliefPlacement(self) -> TwoBendReliefPlacements: """ - Gets and sets if this object is suppressed. + 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 bool() - @isSuppressed.setter - def isSuppressed(self, value: bool): + return TwoBendReliefPlacements() + @twoBendReliefPlacement.setter + def twoBendReliefPlacement(self, value: TwoBendReliefPlacements): """ - Gets and sets if this object is suppressed. + 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 parentGroup(self) -> TimelineGroup: + def threeBendReliefShape(self) -> ThreeBendReliefShapes: """ - Returns the parent group, if this object is part of a group. - Returns null if this object is not part of a group. + Gets and sets the relief shape to use when three bends intersect. """ - return TimelineGroup() - @property - def index(self) -> int: + return ThreeBendReliefShapes() + @threeBendReliefShape.setter + def threeBendReliefShape(self, value: ThreeBendReliefShapes): """ - Returns the position of this item within the timeline where - the first item has an index of 0. - - 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. + Gets and sets the relief shape to use when three bends intersect. """ - return int() + pass @property - def isRolledBack(self) -> bool: + def threeBendReliefRadius(self) -> SheetMetalRuleValue: """ - Indicates if this item is currently not being computed - because it has been rolled back. - - If this is a timelineGroup object and the group is expanded - the value of this property should be ignored. + 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 bool() + return SheetMetalRuleValue() @property - def entity(self) -> core.Base: + def parentDesign(self) -> Design: """ - Returns the entity associated with this timeline object. - Edit operations can be performed by getting the object - 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 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 core.Base() + return Design() @property - def isGroup(self) -> bool: + def isDefault(self) -> bool: """ - Indicates if this TimelineObject represents a group. If True you can - operate on this object as a TimelineGroup object. + 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() - @property - def name(self) -> str: + @isDefault.setter + def isDefault(self, value: bool): """ - Gets and sets the name of this timeline object. This name is shared by the object - the timeline object represents. For example, if the TimelineObject represents a Sketch - and you change the name using the TimelineObject, the name of the sketch in the browser - is also changed. The reverse is also true. Setting the name of an object; sketch, feature - construction geometry, etc, will also change the name of the associated node in the timeline. - """ - return str() - @name.setter - def name(self, value: str): - """ - Gets and sets the name of this timeline object. This name is shared by the object - the timeline object represents. For example, if the TimelineObject represents a Sketch - and you change the name using the TimelineObject, the name of the sketch in the browser - is also changed. The reverse is also true. Setting the name of an object; sketch, feature - construction geometry, etc, will also change the name of the associated node in the timeline. + 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 healthState(self) -> FeatureHealthStates: + def isUsed(self) -> bool: """ - Returns the current health state of the object associated with this TimelineObject. + Indicates if this rule is currently being used by a component. This is only + valid for rules in a design. """ - return FeatureHealthStates() + return bool() @property - def errorOrWarningMessage(self) -> str: + def units(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. + Gets the units this rule uses to display values in the dialog. + Rules currently only use mm or inch and the units are permanently + associated with a rule and cannot be modified. """ return str() -class TorusFeatures(core.Base): +class SheetMetalRules(core.Base): """ - Collection that provides access to all of the existing torus features in a design. + A collection of sheet metal rules. """ def __init__(self): pass @staticmethod - def cast(arg) -> TorusFeatures: - return TorusFeatures() - def item(self, index: int) -> TorusFeature: + 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 torus feature using an index into the collection. + 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 TorusFeature() - def itemByName(self, name: str) -> TorusFeature: + return SheetMetalRule() + def itemByName(self, name: str) -> SheetMetalRule: """ - Function that returns the specified torus 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. + 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 TorusFeature() + 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 torus features in the collection. + The number of sheet metal rules in the collection. """ return int() -class TriangleMesh(core.Base): +class SheetMetalRuleValue(core.Base): """ - The TriangleMesh object represents all of the data defining - a triangular mesh. + 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) -> TriangleMesh: - return TriangleMesh() - @property - def nodeCount(self) -> int: - """ - Returns the total number of nodes in the mesh. - """ - return int() + def cast(arg) -> SheetMetalRuleValue: + return SheetMetalRuleValue() @property - def nodeCoordinatesAsDouble(self) -> list[float]: + def expression(self) -> str: """ - Returns the node coordinates as an array of doubles where - they are the x, y, z components of each coordinate. + 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 unit is implied and uses the units associated with the rule + which can be mm or inch. For example an expression of "3" will be 3 inches if the + rule units are inches or 3 mm if the rule units are millimeters. """ - return [float()] - @property - def nodeCoordinatesAsFloat(self) -> list[float]: + return str() + @expression.setter + def expression(self, value: str): """ - Returns the node coordinates as an array of floats where - they are the x, y, z components of each coordinate. + 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 unit is implied and uses the units associated with the rule + which can be mm or inch. For example an expression of "3" will be 3 inches if the + rule units are inches or 3 mm if the rule units are millimeters. """ - return [float()] + pass @property - def nodeCoordinates(self) -> list[core.Point3D]: + def value(self) -> float: """ - Returns the node coordinates as an array of Point3D objects. + 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 [core.Point3D()] - @property - def triangleCount(self) -> int: + return float() + @value.setter + def value(self, value: float): """ - Returns the number of triangles in the mesh. + 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 int() + pass + +class ShellFeatureInput(core.Base): + """ + This class defines the methods and properties that pertain to the definition of a shell + feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ShellFeatureInput: + return ShellFeatureInput() @property - def normalVectorsAsDouble(self) -> list[float]: + def inputEntities(self) -> core.ObjectCollection: """ - Returns the normal vectors of the mesh where there is a normal - vector at each node. The normals are returned as an array - of doubles where they are the x, y, z components of each vector. + Gets and sets the input faces/bodies. + If IsTangentChain is true, all the faces that are tangentially connected to the input faces (if any) will also be included. + Fails if any faces are input, and the owning bodies of the faces are also input. """ - return [float()] - @property - def normalVectorsAsFloat(self) -> list[float]: + return core.ObjectCollection() + @inputEntities.setter + def inputEntities(self, value: core.ObjectCollection): """ - Returns the normal vectors of the mesh where there is a normal - vector at each node. The normals are returned as an array - of floats where they are the x, y, z components of each vector. + Gets and sets the input faces/bodies. + If IsTangentChain is true, all the faces that are tangentially connected to the input faces (if any) will also be included. + Fails if any faces are input, and the owning bodies of the faces are also input. """ - return [float()] + pass @property - def normalVectors(self) -> list[core.Vector3D]: + def isTangentChain(self) -> bool: """ - Returns the normal vectors of the mesh where there is a normal - vector at each node. The normals are returned as an array - of Vector3D objects. + Gets and sets if any faces that are tangentially connected to any of + the input faces will also be included in setting InputEntities. It defaults to true. """ - return [core.Vector3D()] - @property - def nodeIndices(self) -> list[int]: + return bool() + @isTangentChain.setter + def isTangentChain(self, value: bool): """ - Returns an array of indices that define which nodes are used - for each triangle. This is used to look-up the coordinates in the - NodeCoordinates array to get the three coordinates of each triangle. + Gets and sets if any faces that are tangentially connected to any of + the input faces will also be included in setting InputEntities. It defaults to true. """ - return [int()] + pass @property - def textureCoordinatesAsDouble(self) -> list[float]: + def insideThickness(self) -> core.ValueInput: """ - Returns the texture coordinates used when mapping a texture to - this face. The coordinates are returned as an array of - doubles where they are the u and v components of each - coordinate as defined in parametric space. There is a texture - coordinate for each vertex in the face mesh. + Gets and sets the inside thickness. """ - return [float()] - @property - def textureCoordinatesAsFloat(self) -> list[float]: + return core.ValueInput() + @insideThickness.setter + def insideThickness(self, value: core.ValueInput): """ - Returns the texture coordinates used when mapping a texture to - this face. The coordinates are returned as an array of - floats where they are the u and v components of each - coordinate as defined in parametric space. There is a texture - coordinate for each vertex in the face mesh. + Gets and sets the inside thickness. """ - return [float()] + pass @property - def textureCoordinates(self) -> list[core.Point2D]: + def outsideThickness(self) -> core.ValueInput: """ - Returns the texture coordinates used when mapping a texture to - this face. The coordinates are returned as an array of - Point2D objects where the x and y properties of the point are - u and v coordinates as defined in parametric space. There is - a texture coordinate for each vertex in the face mesh. + Gets and sets the outside thickness. """ - return [core.Point2D()] - @property - def surfaceTolerance(self) -> float: + return core.ValueInput() + @outsideThickness.setter + def outsideThickness(self, value: core.ValueInput): """ - Returns the surface tolerance that was used to generate this mesh. - This is most useful when using display meshes that have already - been calculated. + Gets and sets the outside thickness. """ - return float() - -class TriangleMeshCalculator(core.Base): - """ - Used to calculate new meshes for a B-Rep or T-Spline using defined criteria. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> TriangleMeshCalculator: - return TriangleMeshCalculator() - def setQuality(self, triangleMeshQuality: TriangleMeshQualityOptions) -> bool: + @property + def creationOccurrence(self) -> Occurrence: """ - This is a simplified way to set the various settings that control the resulting mesh. When used it automatically - adjusts all of the property values appropriately. It does this for the given geometry by computing its bounding - 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; - 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. - - LowQualityTriangleMesh: 8 - NormalQualityTriangleMesh: 11 - HighQualityTriangleMesh: 13 - VeryHighQualityTriangleMesh: 15 - Returns true if setting the quality was successful. + In order for geometry to be transformed correctly, an Occurrence for creation needs to be + specified when the shell is created based on geometry (e.g. a profile and/or face(s)) + in another component AND (the shell) is not in the root component. + The CreationOccurrence is analogous to the active occurrence in the UI """ - return bool() - def calculate(self) -> TriangleMesh: + return Occurrence() + @creationOccurrence.setter + def creationOccurrence(self, value: Occurrence): """ - Calculates a new triangle mesh based on the current settings. - Returns the new TriangleMesh object or null in the case where the calculation failed. + In order for geometry to be transformed correctly, an Occurrence for creation needs to be + specified when the shell is created based on geometry (e.g. a profile and/or face(s)) + in another component AND (the shell) is not in the root component. + The CreationOccurrence is analogous to the active occurrence in the UI """ - return TriangleMesh() + pass @property - def surfaceTolerance(self) -> float: + def targetBaseFeature(self) -> BaseFeature: """ - Specifies the maximum distance that the mesh can deviate from the smooth surface. - The value is in centimeters. Smaller values can result in a much greater number - of facets being returned and will require more processing time to calculate. + 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 float() - @surfaceTolerance.setter - def surfaceTolerance(self, value: float): + return BaseFeature() + @targetBaseFeature.setter + def targetBaseFeature(self, value: BaseFeature): """ - Specifies the maximum distance that the mesh can deviate from the smooth surface. - The value is in centimeters. Smaller values can result in a much greater number - of facets being returned and will require more processing time to calculate. + 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 maxSideLength(self) -> float: + def shellType(self) -> ShellTypes: """ - Specifies the maximum side of any triangle in the mesh. A value of 0 (the default) - indicates that no maximum length is specified. The value is specified in centimeters. + The shell type used when creating a shell. + The default value is SharpOffsetShellType. """ - return float() - @maxSideLength.setter - def maxSideLength(self, value: float): + return ShellTypes() + @shellType.setter + def shellType(self, value: ShellTypes): """ - Specifies the maximum side of any triangle in the mesh. A value of 0 (the default) - indicates that no maximum length is specified. The value is specified in centimeters. + The shell type used when creating a shell. + The default value is SharpOffsetShellType. """ pass - @property - def maxAspectRatio(self) -> float: + +class ShellFeatures(core.Base): + """ + Collection that provides access to all of the existing shell features in a component + and supports the ability to create new shell features. + """ + def __init__(self): + pass + @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: """ - Specifies the maximum length to height ratio that a triangle can have. - This helps to avoid long skinny triangles. A value of 0 (the default) - indicates that no maximum aspect ratio is specified. + Function that returns the specified shell 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 float() - @maxAspectRatio.setter - def maxAspectRatio(self, value: float): + return ShellFeature() + def createInput(self, inputEntities: core.ObjectCollection, isTangentChain: bool = True) -> ShellFeatureInput: """ - Specifies the maximum length to height ratio that a triangle can have. - This helps to avoid long skinny triangles. A value of 0 (the default) - indicates that no maximum aspect ratio is specified. + 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 + the ShellFeatureInput object. + inputEntities : The collection contains the faces to remove and the bodies to perform shell. + Fails if any faces are input, and the owning bodies of the faces are also input. + isTangentChain : A boolean value for setting whether or not faces that are tangentially connected to + the input faces (if any) will also be included. It defaults to true. + Returns the newly created ShellFeatureInput object or null if the creation failed. """ - pass - @property - def maxNormalDeviation(self) -> float: + return ShellFeatureInput() + def add(self, input: ShellFeatureInput) -> ShellFeature: """ - Specifies the maximum deviation between adjacent vertex normals. - This value is the maximum angle allowed between normals and is - specified in radians. A value of 0 (the default) indicates that no normal deviation is specified. + Creates a new shell feature. + input : A ShellFeatureInput object that defines the desired shell. Use the createInput + method to create a new ShellFeatureInput object and then use methods on it + (the ShellFeatureInput object) to define the shell. + Returns the newly created ShellFeature object or null if the creation failed. """ - return float() - @maxNormalDeviation.setter - def maxNormalDeviation(self, value: float): + return ShellFeature() + def itemByName(self, name: str) -> ShellFeature: """ - Specifies the maximum deviation between adjacent vertex normals. - This value is the maximum angle allowed between normals and is - specified in radians. A value of 0 (the default) indicates that no normal deviation is specified. + Function that returns the specified shell 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. """ - pass + return ShellFeature() @property - def parentMeshManager(self) -> MeshManager: + def count(self) -> int: """ - Returns the parent MeshManager object. + The number of shell features in the collection. """ - return MeshManager() + return int() -class TriangleMeshList(core.Base): +class SilhouetteSplitFeatureInput(core.Base): """ - Provides access to a set of triangle meshes. + This class defines the methods and properties that pertain to the definition of a silhouette split feature. """ def __init__(self): pass @staticmethod - def cast(arg) -> TriangleMeshList: - return TriangleMeshList() - def item(self, index: int) -> TriangleMesh: - """ - Returns the specified triangle meshes. - index : The index of the mesh to return where the first item has an index of 0. - Returns the specified mesh or null in the case of invalid index. - """ - return TriangleMesh() + def cast(arg) -> SilhouetteSplitFeatureInput: + return SilhouetteSplitFeatureInput() @property - def bestMesh(self) -> TriangleMesh: + def targetBody(self) -> BRepBody: """ - Returns the mesh with the tightest surface tolerance. This can return null - in the case the list is empty, ie. Count is 0. + Gets and sets the solid body to split. """ - return TriangleMesh() - @property - def count(self) -> int: + return BRepBody() + @targetBody.setter + def targetBody(self, value: BRepBody): """ - Returns the number of meshes in the collection. + Gets and sets the solid body to split. """ - return int() - -class TrimFeatureInput(core.Base): - """ - This class defines the methods and properties that pertain to the definition of a TrimFeatureInput. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> TrimFeatureInput: - return TrimFeatureInput() - def cancel(self) -> bool: + @property + def viewDirection(self) -> core.Base: """ - To determine the possible boundaries and allow you to choose which cells to keep, the trim - feature does a partial compute when the input object is created. To do this it starts a trim - feature transaction and completes the transaction when you call the add method. If you don't - call the add method it leaves Fusion 360 in a bad state and there will be undo problems and it - will possibly crash. If you have created a TrimFeatureInput object and don't want to finish - the feature creation, you need to call the cancel method on the TrimFeatureInput object to - safely abort the current trim feature transaction. + Gets and sets the entity that defines the silhouette view direction, which can be a + construction axis, linear BRepEdge, planar BRepFace or a construction plane. """ - return bool() - @property - def bRepCells(self) -> BRepCells: + return core.Base() + @viewDirection.setter + def viewDirection(self, value: core.Base): """ - Returns the collection of the valid cells that have been calculated based on the trim tool. - Use this collection to specify which cells to trim away. + Gets and sets the entity that defines the silhouette view direction, which can be a + construction axis, linear BRepEdge, planar BRepFace or a construction plane. """ - return BRepCells() + pass @property - def trimTool(self) -> core.Base: + def operation(self) -> SilhouetteSplitOperations: """ - Gets and sets the entity (a patch body, B-Rep face, construction plane or sketch curve) that intersects the trim tool + Gets and sets the type of silhouette split operation to perform. """ - return core.Base() - @trimTool.setter - def trimTool(self, value: core.Base): + return SilhouetteSplitOperations() + @operation.setter + def operation(self, value: SilhouetteSplitOperations): """ - Gets and sets the entity (a patch body, B-Rep face, construction plane or sketch curve) that intersects the trim tool + Gets and sets the type of silhouette split operation to perform. """ pass @property @@ -20243,2119 +29303,14354 @@ def targetBaseFeature(self, value: BaseFeature): """ pass -class TrimFeatures(core.Base): +class SilhouetteSplitFeatures(core.Base): """ - Collection that provides access to all of the existing trim features in a component - and supports the ability to create new trim features. + Collection that provides access to all of the existing Silhouette Split features in a component + and supports the ability to create new Silhouette Split features. """ def __init__(self): pass @staticmethod - def cast(arg) -> TrimFeatures: - return TrimFeatures() - def item(self, index: int) -> TrimFeature: + 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 trim feature using an index into the collection. + Function that returns the specified silhouette split 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 TrimFeature() - def createInput(self, trimTool: core.Base) -> TrimFeatureInput: + return SilhouetteSplitFeature() + def createInput(self, viewDirection: core.Base, targetBody: BRepBody, operation: SilhouetteSplitOperations) -> SilhouetteSplitFeatureInput: """ - Creates a TrimFeatureInput object. Use properties and methods on this object - to define the trim feature you want to create and then use the Add method, passing in - the TrimFeatureInput object. - - To determine the possible boundaries and allow you to choose which cells to keep, the trim - feature does a partial compute when the input object is created. To do this it starts a trim - 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 TrimFeatureInput object and don't want to - finish the feature creation, you need to call the cancel method on the TrimFeatureInput object to - safely abort the current boundary fill transaction. - trimTool : A patch body, B-Rep face, construction plane or sketch curve that intersects the surface or surfaces to be trimmed - Returns the newly created TrimFeatureInput object or null if the creation failed. + Creates a SilhouetteSplitFeatureInput object. Use properties and methods on this object + to define the silhouette split you want to create and then use the Add method, passing in + the SilhouetteSplitFeatureInput object. + viewDirection : A construction axis, linear BRepEdge, planar BRepFace or a construction plane that defines the view direction + where the silhouette is calculated. + targetBody : Input the single solid body to split + operation : The type of silhouette split operation to perform. + Returns the newly created SilhouetteSplitFeatureInput object or null if the creation failed. """ - return TrimFeatureInput() - def add(self, input: TrimFeatureInput) -> TrimFeature: + return SilhouetteSplitFeatureInput() + def add(self, input: SilhouetteSplitFeatureInput) -> SilhouetteSplitFeature: """ - Creates a new trim feature. - input : A TrimFeatureInput object that defines the desired trim feature. Use the createInput - method to create a new TrimFeatureInput object and then use methods on it - (the TrimFeatureInput object) to define the trim feature. - Returns the newly created TrimFeature object or null if the creation failed. + Creates a new silhouette split feature. + input : A SilhouetteSplitFeatureInput object that defines the desired silhouette split feature. Use the createInput + method to create a new SilhouetteSplitFeatureInput object and then use methods on it + (the SilhouetteSplitFeatureInput object) to define the silhouette split. + Returns the newly created SilhouetteSplitFeature object or null if the creation failed. """ - return TrimFeature() - def itemByName(self, name: str) -> TrimFeature: + return SilhouetteSplitFeature() + def itemByName(self, name: str) -> SilhouetteSplitFeature: """ - Function that returns the specified trim feature using the name of the feature. + Function that returns the specified silhouette split 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 TrimFeature() + return SilhouetteSplitFeature() @property def count(self) -> int: """ - The number of trim features in the collection. + The number of Silhouette Split features in the collection. """ return int() -class TSplineBodies(core.Base): +class Sketch(core.Base): """ - A collection of TSpline bodies. + Represents a sketch within a component. """ def __init__(self): pass @staticmethod - def cast(arg) -> TSplineBodies: - return TSplineBodies() - def item(self, index: int) -> TSplineBody: + def cast(arg) -> Sketch: + return Sketch() + def projectCutEdges(self, body: BRepBody) -> core.ObjectCollection: """ - Function that returns the specified T-Spline body 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. + Intersects the specified body with the sketch plane and creates new + curves representing the intersection. + body : The body to be intersected by the sketch. + Returns a collection of the sketch entities that were created a a result of the + cut. """ - return TSplineBody() - def itemByName(self, name: str) -> TSplineBody: + return core.ObjectCollection() + def include(self, entity: core.Base) -> core.ObjectCollection: """ - Returns a TSplineBody by specifying the name of the body as seen in the browser. - name : The name of the body, as seen in the browser. This is case sensitive. - Returns the specified item or null if a body with that name was not found. + Creates new sketch curves and points that represent the specified entity + as sketch geometry. The sketch geometry is not projected but is created + in the same location in space as the input geometry. + entity : The entity to include into the sketch. This can be a sketch entity from + another sketch, edge, face (which results in getting all of its edges, a + vertex, construction axis, or construction point. + Returns a collection of the sketch entities that were created as a result of the include. + When including this curves it will be a single sketch curve, but for faces, multiple + sketch curves will be created; one for each edge. """ - return TSplineBody() - def addByTSMFile(self, tsmFilename: str) -> TSplineBody: + return core.ObjectCollection() + def findConnectedCurves(self, curve: SketchCurve) -> core.ObjectCollection: """ - Creates a new TSplineBody by reading in a TSM file from disk. - tsmFilename : The full filename of the TSM file on disk. - Returns the newly created TSplineBody if successful or null in the case of failure. + Finds the sketch curves that are end connected to the input curve. This can be useful + for many cases but is especially useful in gathering the input when creating an offset. + curve : The initial sketch curve that will be used to find the connected curves. + A collection of the connected curves. They are returned in their connected order with + the original input curve being one of the curves. """ - return TSplineBody() - def addByTSMDescription(self, tsmDescription: str) -> TSplineBody: + return core.ObjectCollection() + def modelToSketchSpace(self, modelCoordinate: core.Point3D) -> core.Point3D: """ - Creates a new TSplineBody using the T-Spline description provided by the input - string which contains TSM formatted text. - tsmDescription : A string that contains a T-Spline description in TSM form. - Returns the newly created TSplineBody if successful or null in the case of failure. + A specified point in model space returns the equivalent point in sketch space. + This is sensitive to the assembly context. + modelCoordinate : A coordinate in model space. + Returns the equivalent point in sketch space. """ - return TSplineBody() - @property - def count(self) -> int: + return core.Point3D() + def sketchToModelSpace(self, sketchCoordinate: core.Point3D) -> core.Point3D: """ - The number of bodies in the collection. + A specified point in sketch space returns the equivalent point in model space. + This is sensitive to the assembly context. + sketchCoordinate : A coordinate in sketch space. + Returns the equivalent point in model space. """ - return int() - -class TSplineBody(core.Base): - """ - A TSpline body. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> TSplineBody: - return TSplineBody() - def getTSMDescription(self) -> str: + return core.Point3D() + def move(self, sketchEntities: core.ObjectCollection, transform: core.Matrix3D) -> bool: """ - Returns the T-Spline body as a string in the form of a TSM description. - Returns the string formatted using the TSM format. + Moves the specified sketch entities using the specified transform. + Transform respects any constraints that would normally prohibit the move. + sketchEntities : A collection of sketch entities to transform. + transform : The transform that defines the move, rotate or scale. + Returns true if the move was successful. """ - return str() - def saveAsTSMFile(self, filename: str) -> bool: + return bool() + def copy(self, sketchEntities: core.ObjectCollection, transform: core.Matrix3D, targetSketch: Sketch = None) -> core.ObjectCollection: """ - Saves the body as a TSM file. - filename : The full filename of the file to save the body to. If the file already exists, - it will be overwritten. - Returns true if the file was successfully created. + Copies the specified sketch entities, applying the specified transform. + Any geometric or dimension constraints associated with the entities will + automatically be copied, if possible. For example, if there is a horizontal + dimension and the transform defines a rotation then it will not be included in the + result. This same behavior can be seen when performing a copy/paste operation + in the user interface. + sketchEntities : The collection of sketch entities to copy. They must all exist in this sketch. + transform : The transform to apply to the copied entities. + targetSketch : Optionally specifies the sketch to copy the entities to. If not provided the entities are copied to this sketch. + Returns a collection of the new sketch entities that were created as a result of the copy. + """ + return core.ObjectCollection() + def deleteMe(self) -> bool: + """ + Deletes the sketch. + Returns true if the delete was successful. """ return bool() - @property - def name(self) -> str: + def importSVG(self, fullFilename: str, xPosition: float, yPosition: float, scale: float) -> bool: """ - Gets and sets the name of the body. If setting this property, there is the side-effect - that the B-Rep body created from this T-Spline body is also renamed. + Imports the contents of an SVG file into the active sketch. + fullFilename : The full filename, including the path, of the SVG file. + xPosition : The X offset in centimeters in the sketch for the origin of the SVG data + relative to the sketch origin. + yPosition : The Y offset in centimeters in the sketch for the origin of the SVG data + relative to the sketch origin. + scale : The scale value to apply to the imported SVG data. + Returns true if the import was successful. """ - return str() - @name.setter - def name(self, value: str): + return bool() + def createForAssemblyContext(self, occurrence: Occurrence) -> Sketch: """ - Gets and sets the name of the body. If setting this property, there is the side-effect - that the B-Rep body created from this T-Spline body is also renamed. + 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. """ - pass - @property - def parentFormFeature(self) -> FormFeature: + return Sketch() + def redefine(self, planarEntity: core.Base) -> bool: """ - Returns the owning form feature. + Changes which plane the sketch is based on. + planarEntity : A construction plane or planar face that defines the sketch plane + Returns true if the operation was successful. """ - return FormFeature() - @property - def entityToken(self) -> str: + return bool() + def intersectWithSketchPlane(self, entities: list[core.Base]) -> list[SketchEntity]: """ - Returns a token for the TSplineBody object. This can be saved and used at a later - time with the Design.findEntityByToken method to get back the same T-Spline body. - - 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. + Intersects the specified entities (BRepBody, BRepFace, BRepEdge, BRepVertex, SketchCurve, ConstructionPoint, + ConstructionAxis, and ConstructionPlane) with the sketch plane and creates sketch geometry that represents + the intersection. + entities : An array containing the entities to intersect with the sketch plane. + An array returning the sketch entities that were created as a result of the + intersections. It's possible that this can come back empty in the case where the input + entities don't intersect the sketch plane. """ - return str() - -class UnfoldFeatures(core.Base): - """ - Collection that provides access to all of the existing unfold features in a design. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> UnfoldFeatures: - return UnfoldFeatures() - def item(self, index: int) -> UnfoldFeature: + return [SketchEntity()] + def projectToSurface(self, faces: list[BRepFace], curves: list[core.Base], projectType: SurfaceProjectTypes, directionEntity: core.Base = None) -> list[SketchEntity]: """ - Function that returns the specified unfold 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. + 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 + is the closest point method, the directionEntity argument is ignored. + faces : An array of BRepFace objects that the curves will be projected onto. + curves : An array of various curve objects that will be projected onto the faces. The curves can be sketch curves and points, + BRepEdge objects, ConstructionAxis objects, and ConstructionPoint objects. + projectType : Specifies which projection type to use which defines the direction of projection. If this is set to AlongVectorSurfaceProjectType + the directionEntity argument must be provided. + directionEntity : if the projectType argument is AlongVectorSurfaceProjectType, this argument must be specified and defines the + direction of projection. It can be a linear BRepEdge, a BRepFace where the normal will be used, a SketchLine, or + a ConstructionLine. + Returns an array of the sketch entities that were created as a result of projection the specified curves onto + the faces. """ - return UnfoldFeature() - def itemByName(self, name: str) -> UnfoldFeature: + return [SketchEntity()] + def setConstructionState(self, sketchCurves: list[SketchCurve], constructionState: SketchCurveConstructionStates) -> bool: """ - Function that returns the specified unfold 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. + Method that sets the Construction state for an array of sketch curves. + sketchCurves : An array of sketch curves to set the construction status. + constructionState : Input enum value that specifies if the construction state of the input curves should be toggled, + set to construction, or set to normal. + Returns true if successful. """ - return UnfoldFeature() - @property - def count(self) -> int: + return bool() + def setCenterlineState(self, sketchLines: list[SketchLine], centerlineState: SketchLineCenterlineStates) -> bool: """ - The number of unfold features in the collection. + Method that sets the Centerline state for an array of sketch lines. + sketchLines : An array of sketch lines to set the centerline status + centerlineState : Input enum value that specifies if the centerline state of the input lines should be toggled, + set to centerline, or set to normal + Returns true if successful. """ - return int() - -class UnstitchFeatures(core.Base): - """ - Collection that provides access to all of the existing Unstitch features in a component - and supports the ability to create new Unstitch features. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> UnstitchFeatures: - return UnstitchFeatures() - def item(self, index: int) -> UnstitchFeature: + return bool() + def createSpunProfile(self, input: SpunProfileInput) -> list[SketchEntity]: """ - Function that returns the specified Unstitch 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. + Creates sketch geometry that represents the spun profile. The spun profile is the silhouette of the + entities as if they were spinning around an axis. The created spun profile is based on the + information provided by the SpunProfileInput object. + input : The SpunProfileInput object that specifies the input needed to create the spun profile. + An array of sketch entities that were created as a result of the spun profile. """ - return UnstitchFeature() - def add(self, faces: core.ObjectCollection, isChainSelection: bool) -> UnstitchFeature: + return [SketchEntity()] + def createSpunProfileInput(self, entities: list[core.Base], axis: core.Base) -> SpunProfileInput: + """ + Creates a new SpunProfileInput object that is used to specify the input needed to create + a spun profile. + entities : An array containing the entities (BRepBody or BRepFace) to + create a spun profile. + axis : The axis can be a sketch line, construction axis, or linear edge. The axis must + not be perpendicular to the sketch plane. + Returns the newly created SpunProfileInput object or null if the creation failed. + """ + return SpunProfileInput() + def addCenterToCenterSlot(self, startPoint: core.Base, endPoint: core.Base, width: core.ValueInput, createWidthDimension: bool = False, length: core.ValueInput = None, angle: core.ValueInput = None) -> list[core.Base]: + """ + Creates the geometry that represents a slot. Geometric constraints are automatically + added to the geometry to maintain the slot shape and optionally, dimensions to control + the size can be added. The created geometry and constraints are returned. + startPoint : The start point of the slot. It can be a SketchPoint or Point3D object. If a SketchPoint + is provided a coincident constraint will be created between the start point of the slot + and the provided sketch point. + endPoint : The end point of the slot. It can be a SketchPoint or Point3D object. This point defines + the length of the slot. If a SketchPoint is provided a coincident constraint is created + between the end point of the slot and the provided sketch point. + + If the length or angle arguments are provided, the point is not the actual end point + but is used to determine the direction of the slot. If both the length and angle arguments + are provided this endPoint will be ignored and null can be provided. + width : A ValueInput object that defines the width of the slot. The ValueInput can define either + a real value or an expression string. If it is a real value, it defines the width of the + slot in centimeters. + + When using a ValueInput created using a string, it's the same as creating a parameter in the user-interface. + You can specify any valid expression, i.e. "5", "5 in", "5 in / 2", "5 + Length" that defines a length. + createWidthDimension : Specifies if a dimension constraint and its associated parameter is created to control the width + of the slot. + length : Optional argument that defines the length of the slot using a ValueInput. If this is provided, it + overrides the endPoint and explicitly defines the length of the slot. If the length is specified, + a dimension constraint and its associated parameter is created to control the length. + + The ValueInput can define either a real value or an expression string. If it is a real value, + it defines the length of the slot in centimeters. When it is an expression string, it's the same as + creating a parameter in the user-interface. You can specify any valid expression, i.e. "5", "5 in", + "5 in / 2", "5 + Length" that defines a length. + angle : Optional argument that defines the angle of the slot using a ValueInput. If this is provided, it + overrides the endPoint and explicitly defines the angle of the slot. If the angle is specified, + a horizontal construction line, a dimension constraint, and its associated parameter is created to control the angle. + The angle is measured from a horizontal line that starts at that start point and goes in the positive + X direction. The angle is always less than 180 deg. and depending on the location of the end point, the angle + will be clockwise or counterclockwise from the horizontal line. + + The ValueInput can define either a real value or an expression string. If it is a real value, + it defines the angle of the slot in radians. When it is an expression string, it's the same as + creating a parameter in the user-interface. You can specify any valid expression, i.e. "45", "45 deg", + "180 / 3", "Sweep * 2" that defines an angle. + Returns an array containing the start point arc, the end point arc, the two lines that define the slot, the construction + line between the two points, and optionally, the construction line the angle is measured from if an angle is specified, and + the dimension constraints that were created in the order of width, length, and angle. """ - 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 - need not all come from the same body. - isChainSelection : A boolean value for setting whether or not faces that are connected and adjacent to - the input faces will be included in the selection. The default value is true. - Returns the newly created UnstitchFeature object or null if the creation failed. + return [core.Base()] + def project2(self, entities: list[core.Base], isLinked: bool) -> list[SketchEntity]: + """ + Projects the specified entity or entities onto the X-Y plane of the sketch and returns + the created sketch entity(s). + entities : An array containing the entities to project. It can be an array of one for the case where a single + entity is being projected. The following types of entities are valid for projection: sketch curves + and points, B-Rep bodies (which results in projecting the silhouette of the body), B-Rep edges, + B-Rep faces (which results in projecting all of its edges), B-Rep vertices, construction axes, + construction points, and construction planes that are perpendicular to the sketch which results + in the creation of a line. + isLinked : A Boolean that indicates if the resulting sketch curves will be parametrically linked to the + source geometry that was projected. If true, they will be linked. If false, the resulting curves + are independent. + Returns an array of the sketch entities that were created as a result of the projection. """ - return UnstitchFeature() - def itemByName(self, name: str) -> UnstitchFeature: + return [SketchEntity()] + def addCenterPointSlot(self, centerPoint: core.Base, endPoint: core.Base, width: core.ValueInput, createWidthDimension: bool = False, halfLength: core.ValueInput = None, angle: core.ValueInput = None) -> list[core.Base]: + """ + Creates the geometry that represents a slot where the first point defines the center of the slot + and the second point defines the direction and half-length. Geometric constraints are automatically + added to the geometry to maintain the slot shape and optionally, dimensions to control + the size can be added. The created geometry and constraints are returned. + centerPoint : The center point of the slot. It can be a SketchPoint or Point3D object. If a SketchPoint + is provided a coincident constraint will be created between the center point of the slot + and the provided sketch point. + endPoint : A point that defines the direction and half-length of the slot. It can be a SketchPoint or Point3D object. + The distance from the center point to this point represents half the total length of the slot. + If a SketchPoint is provided a coincident constraint is created between the end point of the slot + and the provided sketch point. + + If the halfLength or angle arguments are provided, the point is not the actual end point + but is used to determine the direction of the slot. If both the halfLength and angle arguments + are provided this endPoint will be ignored and null can be provided. + width : A ValueInput object that defines the width of the slot. The ValueInput can define either + a real value or an expression string. If it is a real value, it defines the width of the + slot in centimeters. + + When using a ValueInput created using a string, it's the same as creating a parameter in the user-interface. + You can specify any valid expression, i.e. "5", "5 in", "5 in / 2", "5 + Length" that defines a length. + createWidthDimension : Specifies if a dimension constraint and its associated parameter is created to control the width + of the slot. + halfLength : Optional argument that defines half the length of the slot using a ValueInput. If this is provided, it + overrides the endPoint distance and explicitly defines half the length of the slot. If the half length is specified, + a dimension constraint and its associated parameter is created to control the length. + + The ValueInput can define either a real value or an expression string. If it is a real value, + it defines half the length of the slot in centimeters. When it is an expression string, it's the same as + creating a parameter in the user-interface. You can specify any valid expression, i.e. "2.5", "2.5 in", + "5 in / 4", "HalfLength" that defines a length. + angle : Optional argument that defines the angle of the slot using a ValueInput. If this is provided, it + overrides the endPoint and explicitly defines the angle of the slot. If the angle is specified, + a horizontal construction line, a dimension constraint, and its associated parameter is created to control the angle. + The angle is measured from a horizontal line that starts at the center point and goes in the positive + X direction. The angle is always less than 180 deg. and depending on the location of the direction point, the angle + will be clockwise or counterclockwise from the horizontal line. + + The ValueInput can define either a real value or an expression string. If it is a real value, + it defines the angle of the slot in radians. When it is an expression string, it's the same as + creating a parameter in the user-interface. You can specify any valid expression, i.e. "45", "45 deg", + "180 / 3", "Sweep * 2" that defines an angle. + Returns an array containing the start point arc, the end point arc, the two lines that define the slot, the construction + line between the start and end point, and optionally, the construction line the angle is measured from if an angle is specified, and + the dimension constraints that were created in the order of width, half length, and angle. """ - Function that returns the specified unstitch 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 [core.Base()] + def addOverallSlot(self, startPoint: core.Base, endPoint: core.Base, width: core.ValueInput, createWidthDimension: bool = False, length: core.ValueInput = None, angle: core.ValueInput = None) -> list[core.Base]: + """ + Creates the geometry that represents an overall slot. Geometric constraints are automatically + added to the geometry to maintain the slot shape and optionally, dimensions to control + the size can be added. The created geometry and constraints are returned. + startPoint : The start point of the slot. It can be a SketchPoint or Point3D object. If a SketchPoint + is provided a coincident constraint will be created between the start point of the slot + and the provided sketch point. + endPoint : The end point of the slot. It can be a SketchPoint or Point3D object. This point defines + the length of the slot. If a SketchPoint is provided a coincident constraint is created + between the end point of the slot and the provided sketch point. + + If either the length or angle argument is provided, the point is not the actual end point + but is used to determine the direction of the slot. If both the length and angle arguments + are provided this endPoint will be ignored and null can be provided. + width : A ValueInput object that defines the width of the slot. The ValueInput can define either + a real value or an expression string. If it is a real value, it defines the width of the + slot in centimeters. + + When using a ValueInput created using a string, it's the same as creating a parameter in the user-interface. + You can specify any valid expression, i.e. "5", "5 in", "5 in / 2", "5 + Length" that defines a length. + createWidthDimension : Specifies if a dimension constraint and its associated parameter is created to control the width + of the slot. + length : Optional argument that defines the overall length of the slot using a ValueInput. If this is provided, it + overrides the endPoint and explicitly defines the length of the slot. If the length is specified, + a dimension constraint and its associated parameter is created to control the length. + + The ValueInput can define either a real value or an expression string. If it is a real value, + it defines the length of the slot in centimeters. When it is an expression string, it's the same as + creating a parameter in the user-interface. You can specify any valid expression, i.e. "5", "5 in", + "5 in / 2", "5 + Length" that defines a length. + angle : Optional argument that defines the angle of the slot using a ValueInput. If this is provided, it + overrides the endPoint and explicitly defines the angle of the slot. If the angle is specified, + a horizontal construction line, a dimension constraint, and its associated parameter is created to control the angle. + The angle is measured from a horizontal line that starts at the start point and goes in the positive + X direction. The angle is always less than 180 deg. and depending on the location of the end point, the angle + will be clockwise or counterclockwise from the horizontal line. + + The ValueInput can define either a real value or an expression string. If it is a real value, + it defines the angle of the slot in radians. When it is an expression string, it's the same as + creating a parameter in the user-interface. You can specify any valid expression, i.e. "45", "45 deg", + "180 / 3", "Sweep * 2" that defines an angle. + Returns an array containing the start point arc, the end point arc, the two lines that define the slot, the construction + line between the two points, and optionally, the construction line the angle is measured from if an angle is specified, and + the dimension constraints that were created in the order of length, angle and width. """ - return UnstitchFeature() + return [core.Base()] @property - def count(self) -> int: + def name(self) -> str: """ - The number of Unstitch features in the collection. + Gets and sets the name of this sketch as seen in the browser and timeline. """ - return int() - -class UntrimFeatureInput(core.Base): - """ - This class defines the methods and properties that pertain to the definition of a Untrim feature. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> UntrimFeatureInput: - return UntrimFeatureInput() - def setLoopsFromFaces(self, faces: list[BRepFace], untrimLoopType: UntrimLoopTypes) -> bool: + return str() + @name.setter + def name(self, value: str): """ - Set the loops to be removed from a set of faces. - faces : An array of BRepFace objects that will have the loops of the specified types removed. - Only loops that do not have a connected face can be removed (the edges in the loop have a single face). - The array can only contain faces from surface bodies, (the isSolid property of the BRepBody returns false). - untrimLoopType : The loop type to be untrimmed (AllLoopUntrimType, InternalLoopUntrimType, or ExternalLoopUntrimType). - Returns whether the operation was successful + Gets and sets the name of this sketch as seen in the browser and timeline. """ - return bool() - def setLoops(self, loops: list[BRepLoop]) -> bool: + pass + @property + def sketchPoints(self) -> SketchPoints: """ - Set the loops to be removed. - loops : Redefines this input to remove loops from the body. If faces were previously defined, that information will be lost. - Only loops that do not have a connected face can be removed (the edges in the loop have a single face) - The array can only contain loops from surface bodies, (the isSolid property of the BRepBody returns false). - Returns whether the operation was successful + Returns the sketch points collection associated with this sketch. + This provides access to the existing sketch points and supports + the creation of new sketch points. """ - return bool() + return SketchPoints() @property - def untrimLoopType(self) -> UntrimLoopTypes: + def sketchCurves(self) -> SketchCurves: """ - Gets the loop type to be untrimmed. This is only used when faces are being untrimmed and is ignored for loops. + Returns the sketch curves collection associated with this sketch. + This provides access to the existing sketch curves which is all + geometry in the sketch except for sketch points. It is through this + collection that new sketch geometry gets created. """ - return UntrimLoopTypes() + return SketchCurves() @property - def facesToUntrim(self) -> list[BRepFace]: + def sketchDimensions(self) -> SketchDimensions: """ - Gets the face objects to untrim. - Returns null/None in the case where loops are specified instead of faces. + Returns the sketch dimensions collection associated with this sketch. + This provides access to the existing sketch dimensions and supports + the creation of new sketch dimensions. """ - return [BRepFace()] + return SketchDimensions() @property - def loopsToUntrim(self) -> list[BRepLoop]: + def geometricConstraints(self) -> GeometricConstraints: """ - Gets the loop objects to untrim. - Returns null/None in the case where faces are specified instead of loops + Returns the sketch constraints collection associated with this sketch. + This provides access to the existing sketch constraints and supports + the creation of new sketch constraints. """ - return [BRepLoop()] + return GeometricConstraints() @property - def extensionDistance(self) -> core.ValueInput: + def transform(self) -> core.Matrix3D: """ - Gets and sets the ValueInput object that defines the extension distance applied to faces when an - external boundary is removed. + Gets and sets the transform of the sketch with respect to model space. + This defines the transform from the parent component space + to the sketch space. For example, if you have point coordinates in the space + of the parent component and apply this transform it will result in the + coordinates of the equivalent position in sketch space. + The transform is sensitive to the assembly context. + + The position of a parametric sketch cannot be modified since its position is defined by + its parametric association to other geometry. As a result this property will fail when called on + a parametric sketch. Setting this property is only valid for sketches in a non-parametric + design or sketches owned by a base feature. """ - return core.ValueInput() - @extensionDistance.setter - def extensionDistance(self, value: core.ValueInput): + return core.Matrix3D() + @transform.setter + def transform(self, value: core.Matrix3D): """ - Gets and sets the ValueInput object that defines the extension distance applied to faces when an - external boundary is removed. + Gets and sets the transform of the sketch with respect to model space. + This defines the transform from the parent component space + to the sketch space. For example, if you have point coordinates in the space + of the parent component and apply this transform it will result in the + coordinates of the equivalent position in sketch space. + The transform is sensitive to the assembly context. + + The position of a parametric sketch cannot be modified since its position is defined by + its parametric association to other geometry. As a result this property will fail when called on + a parametric sketch. Setting this property is only valid for sketches in a non-parametric + design or sketches owned by a base feature. """ pass - -class UntrimFeatures(core.Base): - """ - Collection that provides access to all of the existing Untrim features in a component - and supports the ability to create new Untrim features. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> UntrimFeatures: - return UntrimFeatures() - def item(self, index: int) -> UntrimFeature: + @property + def isParametric(self) -> bool: """ - Function that returns the specified Untrim 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. + Indicates if this sketch is parametric or not. For parametric sketches, you can also + get the construction plane or face it is associative to using the ReferencePlane property. """ - return UntrimFeature() - def createInputFromFaces(self, faces: list[BRepFace], untrimLoopType: UntrimLoopTypes, extensionDistance: core.ValueInput) -> UntrimFeatureInput: + return bool() + @property + def isVisible(self) -> bool: """ - 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. - faces : An array of BRepFace objects that will have the loops of the specified type removed. - Only loops that do not have a connected face can be removed (the edges in the loop have a single face). - The array can only contain faces from surface bodies, (the isSolid property of the BRepBody returns false). - untrimLoopType : The loop type to be untrimmed (AllLoopUntrimType, InternalLoopUntrimType, or ExternalLoopUntrimType). - extensionDistance : If the untrim loop type is AllLoopUntrimType or ExternalLoopUntrimType the untrimmed faces can be extended by a specified distance. - Returns the newly created UntrimFeatureInput object or null if the creation failed. + Gets if this sketch is currently visible in the graphics window. Use the + isLightBulbOn to change if the light bulb beside the sketch 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 body is actually visible or not. """ - return UntrimFeatureInput() - def createInputFromLoops(self, loops: list[BRepLoop], extensionDistance: core.ValueInput) -> UntrimFeatureInput: + return bool() + @isVisible.setter + def isVisible(self, value: bool): """ - 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. - loops : Input the entities that define loops to remove. - Only loops that do not have a connected face can be removed (the edges in the loop have a single face) - The array can only contain loops from surface bodies, (the isSolid property of the BRepBody returns false). - extensionDistance : If an external boundary is removed the untrimmed face can be extended by a specified distance. - Returns the newly created UntrimFeatureInput object or null if the creation failed. - """ - return UntrimFeatureInput() - def add(self, input: UntrimFeatureInput) -> UntrimFeature: - """ - Creates a new Untrim feature. - input : An UntrimFeatureInput object that defines the desired Untrim feature. Use the createInput - method to create a new UntrimFeatureInput object and then use methods on it - (the UntrimFeatureInput object) to define the desired options for the Untrim feature. - Returns the newly created UntrimFeature object or null if the creation failed. - """ - return UntrimFeature() - def itemByName(self, name: str) -> UntrimFeature: - """ - Function that returns the specified Untrim 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 UntrimFeature() - @property - def count(self) -> int: - """ - The number of Untrim features in the collection. + Gets if this sketch is currently visible in the graphics window. Use the + isLightBulbOn to change if the light bulb beside the sketch 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 body is actually visible or not. """ - return int() - -class UserParameters(core.Base): - """ - Provides access to the User Parameters within a design and provides - methods to create new user parameters. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> UserParameters: - return UserParameters() - def item(self, index: int) -> UserParameter: - """ - Function that returns the specified User Parameter 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 UserParameter() - def itemByName(self, name: str) -> UserParameter: - """ - Function that returns the specified User Parameter using the name of the parameter - as it is displayed in the parameters dialog. - name : The name of the User Parameter as it is displayed in the parameters dialog - Returns the specified item or null if an invalid name was specified. - """ - return UserParameter() - def add(self, name: str, value: core.ValueInput, units: str, comment: str) -> UserParameter: - """ - Adds a new user parameter to the collection. - name : The name of the parameter. This is the name shown in the parameters dialog - value : ValueInput object that specifies the value of the parameter. If the ValueInput was created using a real, - the value will be interpreted using the internal unit for the unit type specified by the "units" argument. - For example, if the ValueInput was created using the real value 5 and the input to the "units" argument is - any valid length unit, the value will be interpreted as 5 centimeters since centimeters is the internal unit - for lengths. If the "units" argument is a valid angle unit the value will be interpreted as 5 radians. - - If the ValueInput was created using a string, the string is used as-is for the expression of the parameter. - This means if there are units as part of the string it must evaluate to the same unit type as that specified - by the "units" argument and if no units are specified it will use the current default units specified for - the current document. For example, if the ValueInput was created with the string "5 in", then the "units" - argument must define any valid length so they are compatible. If the ValueInput was created with the string "5", - any unit type can be used and the result will be 5 of that unit. - - When using a ValueInput created using a string, it's the same as creating a parameter in the user-interface. - You can specify any valid expression, i.e. "5", "5 in", "5 in / 2", "5 + Length", etc. and you can choose - from many different types of units. The only requirement is that the units must match in type. For example, - they must both be lengths, or they must both be angles. - units : The units to use for the value of the parameter. - Units specified must match the units specified (if any) in the ValueInput object. - - To create a parameter with no units you can specify either an empty string. - comment : The comment to display in the parameters dialog. Specify an empty string ("") for no comment - Returns the newly created UserParameter or null if the creation failed. - """ - return UserParameter() @property - def count(self) -> int: + def areDimensionsShown(self) -> bool: """ - Returns the number of parameters in the collection. + Indicates if the dimensions of the sketch are displayed when the sketch is not active + (in sketch edit mode) """ - return int() - @property - def design(self) -> Design: + return bool() + @areDimensionsShown.setter + def areDimensionsShown(self, value: bool): """ - Returns the design that owns the user parameters collection. + Indicates if the dimensions of the sketch are displayed when the sketch is not active + (in sketch edit mode) """ - return Design() - -class WebFeatures(core.Base): - """ - Collection that provides access to all of the existing web features in a design. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> WebFeatures: - return WebFeatures() - def item(self, index: int) -> WebFeature: + @property + def areProfilesShown(self) -> bool: """ - Function that returns the specified web 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. + Indicates if the profiles of the sketch are displayed """ - return WebFeature() - def itemByName(self, name: str) -> WebFeature: + return bool() + @areProfilesShown.setter + def areProfilesShown(self, value: bool): """ - Function that returns the specified web 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. + Indicates if the profiles of the sketch are displayed """ - return WebFeature() + pass @property - def count(self) -> int: + def origin(self) -> core.Point3D: """ - The number of web features in the collection. + Returns the origin point of the sketch in model space. """ - return int() - -class AllExtentDefinition(ExtentDefinition): - """ - 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. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> AllExtentDefinition: - return AllExtentDefinition() + return core.Point3D() @property - def direction(self) -> ExtentDirections: + def xDirection(self) -> core.Vector3D: """ - Gets and sets the direction of the extent. + Returns the X direction of the sketch as defined in model space. """ - return ExtentDirections() - @direction.setter - def direction(self, value: ExtentDirections): + return core.Vector3D() + @property + def yDirection(self) -> core.Vector3D: """ - Gets and sets the direction of the extent. + Returns the Y direction of the sketch as defined in model space. """ - pass - -class AlongPathTextDefinition(SketchTextDefinition): - """ - Defines the information for text that follows along a path. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> AlongPathTextDefinition: - return AlongPathTextDefinition() + return core.Vector3D() @property - def path(self) -> core.Base: + def referencePlane(self) -> core.Base: """ - Get and sets the entity that defines the path for the text. This can be a SketchCurve or BRepEdge object. + Gets and sets the construction plane or planar face the sketch is associated + to. This is only valid when the IsParametric property is True otherwise this + returns null and setting the property will fail. + + Setting this property is the equivalent of the Redefine command. """ return core.Base() - @path.setter - def path(self, value: core.Base): + @referencePlane.setter + def referencePlane(self, value: core.Base): """ - Get and sets the entity that defines the path for the text. This can be a SketchCurve or BRepEdge object. + Gets and sets the construction plane or planar face the sketch is associated + to. This is only valid when the IsParametric property is True otherwise this + returns null and setting the property will fail. + + Setting this property is the equivalent of the Redefine command. """ pass @property - def isAbovePath(self) -> bool: + def isComputeDeferred(self) -> bool: """ - Gets and sets if the text should be positioned above or below the path entity. + This property temporarily turns off sketch computing. It is used to increase the + performance as sketch geometry is created and modified. Once the sketch is drawn, + this property should be set to false to allow the sketch to recompute. The file + does not save this setting and is always false when a file is opened. + + There is a side-effect when using this property that can result in the creation of a + bad model. This is only a problem when editing an existing sketch used by one or more + features. When the sketch is edited with the isComputeDeferred property set to true, + the compute of the profiles can sometimes create weird results in the dependent + features. There are two easy ways to solve this problem. The first is not to defer + the sketch compute. The second is to roll the timeline back to just after the sketch, + make whatever changes you want to the sketch with the compute deferred, and then roll the + timeline back to its original location. This process mimics the behavior you see in + the user interface when you manually edit a sketch where Fusion automatically rolls the + timeline back while you're editing the sketch. """ return bool() - @isAbovePath.setter - def isAbovePath(self, value: bool): + @isComputeDeferred.setter + def isComputeDeferred(self, value: bool): """ - Gets and sets if the text should be positioned above or below the path entity. + This property temporarily turns off sketch computing. It is used to increase the + performance as sketch geometry is created and modified. Once the sketch is drawn, + this property should be set to false to allow the sketch to recompute. The file + does not save this setting and is always false when a file is opened. + + There is a side-effect when using this property that can result in the creation of a + bad model. This is only a problem when editing an existing sketch used by one or more + features. When the sketch is edited with the isComputeDeferred property set to true, + the compute of the profiles can sometimes create weird results in the dependent + features. There are two easy ways to solve this problem. The first is not to defer + the sketch compute. The second is to roll the timeline back to just after the sketch, + make whatever changes you want to the sketch with the compute deferred, and then roll the + timeline back to its original location. This process mimics the behavior you see in + the user interface when you manually edit a sketch where Fusion automatically rolls the + timeline back while you're editing the sketch. """ pass @property - def horizontalAlignment(self) -> core.HorizontalAlignments: - """ - Gets and sets the horizontal alignment of the text with respect to the path curve. - """ - return core.HorizontalAlignments() - @horizontalAlignment.setter - def horizontalAlignment(self, value: core.HorizontalAlignments): + def profiles(self) -> Profiles: """ - Gets and sets the horizontal alignment of the text with respect to the path curve. + Returns the profiles currently computed for the sketch. """ - pass + return Profiles() @property - def characterSpacing(self) -> float: + def timelineObject(self) -> TimelineObject: """ - Gets and sets the spacing between the characters. This is an additional spacing to apply - that is defined as a percentage of the default spacing. A spacing of 0 indicates no - additional spacing. A spacing of 50 indicates to use the default plus 50% of the default. + Returns the timeline object associated with this sketch. """ - return float() - @characterSpacing.setter - def characterSpacing(self, value: float): + return TimelineObject() + @property + def parentComponent(self) -> Component: """ - Gets and sets the spacing between the characters. This is an additional spacing to apply - that is defined as a percentage of the default spacing. A spacing of 0 indicates no - additional spacing. A spacing of 50 indicates to use the default plus 50% of the default. + Returns the parent Component. """ - pass - -class AngleExtentDefinition(ExtentDefinition): - """ - Defines the inputs for a AngleExtentDefinition object. - This feature extent is defined by an angle as well as whether the extent is symmetric or only in one direction. - If the extent is not symmetric, a positive or negative angle can be used to control the direction. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> AngleExtentDefinition: - return AngleExtentDefinition() + return Component() @property - def isSymmetric(self) -> bool: + def assemblyContext(self) -> Occurrence: """ - Gets and sets if the angle extent is in one direction or symmetric. - For a hole this property will always return false and setting it is ignored. + 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 bool() - @isSymmetric.setter - def isSymmetric(self, value: bool): + return Occurrence() + @property + def nativeObject(self) -> Sketch: """ - Gets and sets if the angle extent is in one direction or symmetric. - For a hole this property will always return false and setting it is ignored. + 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. """ - pass + return Sketch() @property - def angle(self) -> ModelParameter: + def boundingBox(self) -> core.BoundingBox3D: """ - Gets the ModelParameter that defines the angle. The value of the angle can be edited - by using the properties on the ModelParameter object to edit the parameter. + Returns the 3D bounding box of the sketch """ - return ModelParameter() - -class AtCenterHolePositionDefinition(HolePositionDefinition): - """ - Provides positioning information for a hole that is positioned at the center of a - circular or elliptical edge. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> AtCenterHolePositionDefinition: - return AtCenterHolePositionDefinition() + return core.BoundingBox3D() @property - def planarEntity(self) -> core.Base: + def sketchTexts(self) -> SketchTexts: """ - Returns the plane that defines the orientation and start of the hole. + Returns the sketch text collection associated with this sketch. + This provides access to existing text and supports the creation + of new text. """ - return core.Base() + return SketchTexts() @property - def centerEdge(self) -> BRepEdge: + def originPoint(self) -> SketchPoint: """ - Returns the circular or elliptical edge the hole is centered at. + Returns the sketch point that was automatically created by projecting the + origin construction point into the sketch. """ - return BRepEdge() - -class BallJointMotion(JointMotion): - """ - Represents the set of information specific to a ball joint. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> BallJointMotion: - return BallJointMotion() + return SketchPoint() @property - def pitchDirection(self) -> JointDirections: + def isFullyConstrained(self) -> bool: """ - Gets and sets the direction that the pitch is measured from. - This can only be set to ZAxisJointDirection and can return ZAxisJointDirection - or CustomJointDirection. If this returns CustomJointDirection then the - customNormalDirectionEntity will return an entity that defines the direction. - If there is a custom direction defined and this property is set to ZAxisJointDirection, - the custom direction will be removed and customNormalDirectionEntity will return null. + Indicates if this sketch is fully constrained. """ - return JointDirections() - @pitchDirection.setter - def pitchDirection(self, value: JointDirections): + return bool() + @property + def attributes(self) -> core.Attributes: """ - Gets and sets the direction that the pitch is measured from. - This can only be set to ZAxisJointDirection and can return ZAxisJointDirection - or CustomJointDirection. If this returns CustomJointDirection then the - customNormalDirectionEntity will return an entity that defines the direction. - If there is a custom direction defined and this property is set to ZAxisJointDirection, - the custom direction will be removed and customNormalDirectionEntity will return null. + Returns the collection of attributes associated with this face. """ - pass + return core.Attributes() @property - def customPitchDirectionEntity(self) -> core.Base: + def baseOrFormFeature(self) -> core.Base: """ - This property defines a custom pitch direction and can be set using various types - of entities that can infer a direction. For example, a linear edge, sketch line, - planar face, and cylindrical face.This property is only valid in the case where the - pitchDirection property returns CustomJointDirection. Setting this property will - automatically set the pitchDirection property to CustomJointDirection. - - To set this property, you need to position the timeline marker to immediately before this joint. - This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) + This property returns the base or form feature that this sketch is associated with. It returns + null in the case where the sketch is parametrically defined and is not related to a base or form + feature. It also returns null in a direct modeling design. """ return core.Base() - @customPitchDirectionEntity.setter - def customPitchDirectionEntity(self, value: core.Base): - """ - This property defines a custom pitch direction and can be set using various types - of entities that can infer a direction. For example, a linear edge, sketch line, - planar face, and cylindrical face.This property is only valid in the case where the - pitchDirection property returns CustomJointDirection. Setting this property will - automatically set the pitchDirection property to CustomJointDirection. - - To set this property, you need to position the timeline marker to immediately before this joint. - This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) - """ - pass @property - def pitchDirectionVector(self) -> core.Vector3D: + def healthState(self) -> FeatureHealthStates: """ - Returns the direction that the pitch angle is measured from. This property will return null in the case - where the BallJointMotion object was obtained from a JointInput object. + Returns the current health state of this sketch. """ - return core.Vector3D() + return FeatureHealthStates() @property - def yawDirection(self) -> JointDirections: + def errorOrWarningMessage(self) -> str: """ - Gets and sets the direction that the pitch is measured from. - This can only be set to XAxisJointDirection and can return XAxisJointDirection - or CustomJointDirection. If this returns CustomJointDirection then the - customYawDirectionEntity will return an entity that defines the direction. - If there is a custom direction defined and this property is set to XAxisJointDirection, - the custom direction will be removed and customYawDirectionEntity will return null. + 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 JointDirections() - @yawDirection.setter - def yawDirection(self, value: JointDirections): + return str() + @property + def revisionId(self) -> str: """ - Gets and sets the direction that the pitch is measured from. - This can only be set to XAxisJointDirection and can return XAxisJointDirection - or CustomJointDirection. If this returns CustomJointDirection then the - customYawDirectionEntity will return an entity that defines the direction. - If there is a custom direction defined and this property is set to XAxisJointDirection, - the custom direction will be removed and customYawDirectionEntity will return null. + Returns the current revision ID of the sketch. This ID changes any time the sketch is modified in any way. By getting + and saving the ID when you create any data that is dependent on the sketch, you can then compare the saved + ID with the current ID to determine if the sketch has changed to know if you should update your data. """ - pass + return str() @property - def customYawDirectionEntity(self) -> core.Base: + def areConstraintsShown(self) -> bool: """ - This property defines a custom yaw direction and can be set using various types - of entities that can infer a direction. For example, a linear edge, sketch line, - planar face, and cylindrical face.This property is only valid in the case where the - yawDirection property returns CustomJointDirection. Setting this property will - automatically set the yawDirection property to CustomJointDirection. - - To set this property, you need to position the timeline marker to immediately before this joint. - This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) + Indicates if the constraints of the sketch are displayed when the sketch is active. """ - return core.Base() - @customYawDirectionEntity.setter - def customYawDirectionEntity(self, value: core.Base): + return bool() + @areConstraintsShown.setter + def areConstraintsShown(self, value: bool): """ - This property defines a custom yaw direction and can be set using various types - of entities that can infer a direction. For example, a linear edge, sketch line, - planar face, and cylindrical face.This property is only valid in the case where the - yawDirection property returns CustomJointDirection. Setting this property will - automatically set the yawDirection property to CustomJointDirection. - - To set this property, you need to position the timeline marker to immediately before this joint. - This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) + Indicates if the constraints of the sketch are displayed when the sketch is active. """ pass @property - def yawDirectionVector(self) -> core.Vector3D: + def arePointsShown(self) -> bool: """ - Returns the direction that the yaw angle is measured from. This property will return null in the case - where the BallJointMotion object was obtained from a JointInput object. + Indicates if the sketch points in the sketch are displayed. Points that are not connected to any other + geometry will continue to be shown. """ - return core.Vector3D() - @property - def rollDirectionVector(self) -> core.Vector3D: + return bool() + @arePointsShown.setter + def arePointsShown(self, value: bool): """ - Returns the direction that the roll angle is measured from. This property will return null in the case - where the BallJointMotion object was obtained from a JointInput object. + Indicates if the sketch points in the sketch are displayed. Points that are not connected to any other + geometry will continue to be shown. """ - return core.Vector3D() + pass @property - def pitchValue(self) -> float: + def isLightBulbOn(self) -> bool: """ - Gets and sets the pitch value. This is in radians. Setting this value is - the equivalent of using the Drive Joints command. + Gets and set if the light bulb beside the sketch 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 body is actually visible, just that it should be visible + if all of it's parent nodes are also visible. Use the isVisible property + to determine if it's actually visible. """ - return float() - @pitchValue.setter - def pitchValue(self, value: float): + return bool() + @isLightBulbOn.setter + def isLightBulbOn(self, value: bool): """ - Gets and sets the pitch value. This is in radians. Setting this value is - the equivalent of using the Drive Joints command. + Gets and set if the light bulb beside the sketch 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 body is actually visible, just that it should be visible + if all of it's parent nodes are also visible. Use the isVisible property + to determine if it's actually visible. """ pass @property - def pitchLimits(self) -> JointLimits: + def entityToken(self) -> str: """ - Returns a JointLimits object that defines the limits of rotation for the pitch. - Use the functionality of the returned JointLimits object to get, set, and modify - the joint limits. + Returns a token for the Sketch object. This can be saved and used at a later + time with the Design.findEntityByToken method to get back the same token. + + 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 JointLimits() + return str() @property - def yawValue(self) -> float: + def isModelSliced(self) -> bool: """ - Gets and sets the yaw value. This is in radians. Setting this value is - the equivalent of using the Drive Joints command. + Gets and sets whether the model is sliced along the sketch plane when this sketch is active. + This provides access to the "Slice" setting in the "SKETCH PALETTE". """ - return float() - @yawValue.setter - def yawValue(self, value: float): + return bool() + @isModelSliced.setter + def isModelSliced(self, value: bool): """ - Gets and sets the yaw value. This is in radians. Setting this value is - the equivalent of using the Drive Joints command. + Gets and sets whether the model is sliced along the sketch plane when this sketch is active. + This provides access to the "Slice" setting in the "SKETCH PALETTE". """ pass @property - def yawLimits(self) -> JointLimits: - """ - Returns a JointLimits object that defines the limits of rotation for the yaw. - Use the functionality of the returned JointLimits object to get, set, and modify - the joint limits. - """ - return JointLimits() - @property - def rollValue(self) -> float: + def isProjectedGeometryShown(self) -> bool: """ - Gets and sets the roll value. This is in radians. Setting this value is - the equivalent of using the Drive Joints command. + Gets and sets whether projected geometry in the sketch is displayed. + This provides access to the "Projected Geometries" setting in the "SKETCH PALETTE". """ - return float() - @rollValue.setter - def rollValue(self, value: float): + return bool() + @isProjectedGeometryShown.setter + def isProjectedGeometryShown(self, value: bool): """ - Gets and sets the roll value. This is in radians. Setting this value is - the equivalent of using the Drive Joints command. + Gets and sets whether projected geometry in the sketch is displayed. + This provides access to the "Projected Geometries" setting in the "SKETCH PALETTE". """ pass @property - def rollLimits(self) -> JointLimits: + def isConstructionGeometryShown(self) -> bool: """ - Returns a JointLimits object that defines the limits of rotation for the roll. - Use the functionality of the returned JointLimits object to get, set, and modify - the joint limits. + Gets and sets whether construction geometry in the sketch is displayed. + This provides access to the "Construction Geometries" setting in the "SKETCH PALETTE". """ - return JointLimits() + return bool() + @isConstructionGeometryShown.setter + def isConstructionGeometryShown(self, value: bool): + """ + Gets and sets whether construction geometry in the sketch is displayed. + This provides access to the "Construction Geometries" setting in the "SKETCH PALETTE". + """ + pass -class BaseFeature(Feature): +class SketchArcs(core.Base): """ - The BaseFeature class represents a direct edit feature within a parametric design. + The collection of arcs in a sketch. This provides access to the existing + arcs and supports the methods to create new arcs. """ def __init__(self): pass @staticmethod - def cast(arg) -> BaseFeature: - return BaseFeature() - def startEdit(self) -> bool: + 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: """ - Set the user-interface so that the base body is in edit mode. - Returns true if successful. - """ - return bool() - def finishEdit(self) -> bool: - """ - Exits from edit mode in the user-interface. If this base feature in not - in edit mode, then nothing happens. - Returns true if successful. - """ - return bool() - def updateBody(self, sourceBody: BRepBody, newBody: BRepBody) -> bool: - """ - Update an existing source BRepBody created by this BaseFeature. - The input BRepBody definition will be copied into the existing BRepBody. - sourceBody : The source BRepBody to update. The source bodies of a BaseFeature are only available - from the bodies collection of the BaseFeature when the BaseFeature is in edit mode. - newBody : The BRepBody whose definition will be used to replace the existing source body's definition. - Returns true if the body was updated, or false if the update failed. - """ - return bool() - def createForAssemblyContext(self, occurrence: Occurrence) -> BaseFeature: - """ - 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 BaseFeature() - @property - def constructionPlanes(self) -> list[ConstructionPlane]: - """ - Returns an array of the construction planes associated with this base feature. + Function that returns the specified sketch arc 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 [ConstructionPlane()] - @property - def constructionAxes(self) -> list[ConstructionAxis]: + return SketchArc() + def addByCenterStartSweep(self, centerPoint: core.Base, startPoint: core.Base, sweepAngle: float) -> SketchArc: """ - Returns an array of the construction axes associated with this base feature. + Creates a sketch arc that is always parallel to the x-y plane of the sketch + and is centered at the specified point. + centerPoint : The center point of the arc. This can be either an existing SketchPoint or a Point3D object. + startPoint : The start point of the arc. The distance between this point and the center defines the radius + of the arc. This can be either an existing SketchPoint or a Point3D object. + sweepAngle : The sweep of the arc. This is defined in radians and a positive value defines a counter-clockwise sweep. + Returns the newly created SketchArc object or null if the creation failed. """ - return [ConstructionAxis()] - @property - def constructionPoints(self) -> list[ConstructionPoint]: + return SketchArc() + def addByThreePoints(self, startPoint: core.Base, point: core.Point3D, endPoint: core.Base) -> SketchArc: """ - Returns an array of the construction points associated with this base feature. + Creates a sketch arc that passes through the three points. + startPoint : The start point of the arc. This can be either an existing SketchPoint or a Point3D object. + point : A point along the arc. This is a Point3D object. + endPoint : The end point of the arc. This can be either an existing SketchPoint or a Point3D object. + Returns the newly created SketchArc or null in the case of a failure. """ - return [ConstructionPoint()] - @property - def sketches(self) -> list[Sketch]: + return SketchArc() + def addFillet(self, firstEntity: SketchCurve, firstEntityPoint: core.Point3D, secondEnitity: SketchCurve, secondEntityPoint: core.Point3D, radius: float) -> SketchArc: """ - Returns an array of the sketches associated with this base feature. + Creates a fillet between two sketch entities + The side (quadrant) the fillet is created on is determined by the points specified. + The point for each entity can be its startSketchPoint or endSketchPoint + firstEntity : The first curve for the fillet definition. The curve must be open. + firstEntityPoint : A point on or closer to one end of the first curve that indicates the side to create the fillet on + secondEnitity : The second curve for the fillet definition. The curve must be open. + secondEntityPoint : A point on or closer to one end of the second curve that indicates the side to create the fillet on + radius : radius of the arc in centimeters + Returns the newly created SketchArc object (fillet) if the operation was successful or null if it failed. """ - return [Sketch()] - @property - def meshBodies(self) -> list[MeshBody]: + return SketchArc() + def addByCenterStartEnd(self, centerPoint: core.Base, startPoint: core.Base, endPoint: core.Base, normal: core.Vector3D = None) -> SketchArc: """ - Returns an array of the mesh bodies associated with this base feature. + Creates a sketch arc that is centered at the specified point and between the two input points. + centerPoint : The center point of the arc. This can be either an existing SketchPoint or a Point3D object. + startPoint : The start point of the arc. This can be either an existing SketchPoint or a Point3D object. + endPoint : The end point of the arc. This can be either an existing SketchPoint or a Point3D object. + If the end point does not lie on the arc, a new point would be created such that it lies on the arc. + normal : An optional argument that specifies the normal of the plane the arc will be created on. If not supplied, a vector + in the positive Z direction will be used, which results in the creation of an arc that is parallel to the X-Y plane of the sketch. + However, you can specify a normal vector to orient the arc in any orientation. The normal also helps to control the sweep direction of the arc, + where the sweep direction is always counterclockwise from the start to the end point, where counterclockwise is defined using + the right-hand rule around the normal vector. + Returns the newly created SketchArc or null in the case of a failure. """ - return [MeshBody()] + return SketchArc() @property - def nativeObject(self) -> BaseFeature: + def count(self) -> int: """ - 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. + Returns the number of arcs in the sketch. """ - return BaseFeature() + return int() -class BoundaryFillFeature(Feature): +class SketchCircles(core.Base): """ - Object that represents an existing boundary fill feature in a design. + The collection of circles in a sketch. This provides access to the existing + circles and supports the methods to create new circles. """ def __init__(self): pass @staticmethod - def cast(arg) -> BoundaryFillFeature: - return BoundaryFillFeature() - def createForAssemblyContext(self, occurrence: Occurrence) -> BoundaryFillFeature: - """ - 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 BoundaryFillFeature() - def applyCellChanges(self) -> bool: + 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: """ - After making any changes to the set of selected cells you must call this method to - indicate all changes have been made and to apply those changes to the feature. - Returns true if the apply was successful. + Function that returns the specified sketch circle 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() - @property - def tools(self) -> core.ObjectCollection: + return SketchCircle() + def addByCenterRadius(self, centerPoint: core.Base, radius: float) -> SketchCircle: """ - A collection of construction planes and open or closed BRepBody objects that define the - set of boundaries that have been used in the calculation of available closed boundaries. - Setting this property will clear all currently selected tools. - - 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) + Creates a sketch circle that is always parallel to the x-y plane of the sketch + and is centered at the specified point. + centerPoint : The center point of the circle. It can be an existing SketchPoint or a Point3D object. + radius : The radius of the circle in centimeters. + Returns the newly created SketchCircle object or null if the creation failed. """ - return core.ObjectCollection() - @tools.setter - def tools(self, value: core.ObjectCollection): + return SketchCircle() + def addByTwoPoints(self, pointOne: core.Point3D, pointTwo: core.Point3D) -> SketchCircle: """ - A collection of construction planes and open or closed BRepBody objects that define the - set of boundaries that have been used in the calculation of available closed boundaries. - Setting this property will clear all currently selected tools. - - 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) + Creates a sketch circle where the circle passes through the two points and the + distance between the two points is the diameter of the circle. + pointOne : A Point3D object that defines a point is sketch space and lies on the x-y plane of the sketch. + pointTwo : A Point3D object that defines a point is sketch space and lies on the x-y plane of the sketch. + Returns the newly created SketchCircle object or null if the creation failed. """ - pass - @property - def bRepCells(self) -> BRepCells: + return SketchCircle() + def addByThreePoints(self, pointOne: core.Point3D, pointTwo: core.Point3D, pointThree: core.Point3D) -> SketchCircle: """ - Gets the set of closed boundaries that have been calculated based on the current set of - tools. To get this collection the model must be in the state it was when the feature - was initially computed, which means the timeline marker must be positioned to immediately - before this feature. - - After changing any selected cells you must call the applyCellChanges method to update - the feature with the changes. + Creates a sketch circle that passes through the three points. The three points must + lie on the x-y plane of the sketch. + pointOne : The first point that the circle will pass through. The z component must be zero. + pointTwo : The second point that the circle will pass through. The z component must be zero. + pointThree : The third point that the circle will pass through. The z component must be zero. + Returns the newly created SketchCircle object or null if the creation failed. """ - return BRepCells() - @property - def operation(self) -> FeatureOperations: + return SketchCircle() + def addByTwoTangents(self, tangentOne: SketchLine, tangentTwo: SketchLine, radius: float, hintPoint: core.Point3D) -> SketchCircle: """ - Gets and sets the type of operation performed by the boundary fill feature. + Creates a sketch circle that is tangent to the two input lines. + The two lines must lie on the x-y plane of the sketch. + tangentOne : The first line that the circle will be tangent to. + The line must lie on the x-y plane of the sketch. + tangentTwo : The second line that the circle will be tangent to. + The line must lie on the x-y plane of the sketch and cannot + be parallel to the first line. + radius : The radius of the circle in centimeters. + hintPoint : A point that specifies which of the possible four solutions to use + when creating the circle. If you consider the two input lines to be infinite + they create four quadrants which results in four possible solutions for the + creation of the circle. The hint point is a point anywhere within the quadrant + where you want the circle created. + Returns the newly created SketchCircle object or null if the creation failed. """ - return FeatureOperations() - @operation.setter - def operation(self, value: FeatureOperations): + return SketchCircle() + def addByThreeTangents(self, tangentOne: SketchLine, tangentTwo: SketchLine, tangentThree: SketchLine, hintPoint: core.Point3D) -> SketchCircle: """ - Gets and sets the type of operation performed by the boundary fill feature. + Creates a sketch circle that is tangent to the three input lines. + The three lines must lie on the x-y plane of the sketch. + tangentOne : The first line that the circle will be tangent to. + The line must lie on the x-y plane of the sketch and cannot be parallel + to the second or third line. + tangentTwo : The second line that the circle will be tangent to. + The line must lie on the x-y plane of the sketch and cannot be parallel + to the first or third line. + tangentThree : The third line that the circle will be tangent to. + The line must lie on the x-y plane of the sketch and cannot be parallel + to the first or second line. + hintPoint : A point that specifies which of the possible multiple solutions to use + when creating the circle. If you consider the three input lines to be infinite + there are many possible solutions when creating a circle that is tangent to all + three lines. The hint point is a point anywhere within the area defined by the + three lines where the circle is to be created. + Returns the newly created SketchCircle object or null if the creation failed. """ - pass + return SketchCircle() @property - def nativeObject(self) -> BoundaryFillFeature: + def count(self) -> int: """ - 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. + Returns the number of circles in the sketch. """ - return BoundaryFillFeature() + return int() -class BoxFeature(Feature): +class SketchConicCurves(core.Base): """ - Object that represents an existing box feature in a design. + The collection of conic curves in a sketch. This provides access to the existing + conic curves and supports the method to create new conic curves. """ def __init__(self): pass @staticmethod - def cast(arg) -> BoxFeature: - return BoxFeature() + 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. + 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 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: + """ + Returns the number of conic curves in the sketch. + """ + return int() -class C3MFExportOptions(ExportOptions): +class SketchControlPointSplines(core.Base): """ - Defines that a 3MF export is to be done and specifies the various options. + The collection of control point splines in a sketch. """ def __init__(self): pass @staticmethod - def cast(arg) -> C3MFExportOptions: - return C3MFExportOptions() - @property - def isOneFilePerBody(self) -> bool: + 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: """ - 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. + 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 bool() - @isOneFilePerBody.setter - def isOneFilePerBody(self, value: bool): + return SketchControlPointSpline() + def add(self, controlPoints: list[core.Base], degree: SplineDegrees) -> SketchControlPointSpline: """ - 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. + 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. Only degree 3 and degree 5 can be specified while creating the spline. + Returns the newly created SketchControlPointSpline object if the creation was successful or null if it failed. """ - pass + return SketchControlPointSpline() @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): + def count(self) -> int: """ - 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 + 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 + for the specific types of curves where you can get the curves based on type and + create new curves. + """ + def __init__(self): 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): + @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: """ - 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. + Function that returns the specified sketch curve 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. """ - pass + return SketchCurve() @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): + def count(self) -> int: """ - 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. + Returns the number of sketch curves in the sketch. """ - pass + return int() @property - def maximumEdgeLength(self) -> float: + def sketchArcs(self) -> SketchArcs: """ - 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. + Returns the sketch arcs collection associated with this sketch. + This provides access to the existing sketch arcs and supports + the creation of new sketch arcs. """ - return float() - @maximumEdgeLength.setter - def maximumEdgeLength(self, value: float): + return SketchArcs() + @property + def sketchCircles(self) -> SketchCircles: """ - 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. + Returns the sketch circles collection associated with this sketch. + This provides access to the existing sketch circles and supports + the creation of new sketch circles. """ - pass + return SketchCircles() @property - def aspectRatio(self) -> float: + def sketchEllipses(self) -> SketchEllipses: """ - 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. + Returns the sketch ellipses collection associated with this sketch. + This provides access to the existing sketch ellipses and supports + the creation of new sketch ellipses. """ - return float() - @aspectRatio.setter - def aspectRatio(self, value: float): + return SketchEllipses() + @property + def sketchEllipticalArcs(self) -> SketchEllipticalArcs: """ - 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. + Returns the sketch elliptical arcs collection associated with this sketch. + This provides access to the existing sketch elliptical arcs and supports + the creation of new sketch elliptical arcs. """ - pass + return SketchEllipticalArcs() @property - def availablePrintUtilities(self) -> list[str]: + def sketchLines(self) -> SketchLines: """ - 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. + Returns the sketch lines collection associated with this sketch. + This provides access to the existing sketch lines and supports + the creation of new sketch lines. """ - return [str()] + return SketchLines() @property - def printUtility(self) -> str: + def sketchFittedSplines(self) -> SketchFittedSplines: """ - Specifies which print utility to use when opening the 3MF 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 know 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. + Returns the sketch splines collection associated with this sketch. + This provides access to the existing sketch splines and supports + the creation of new sketch splines. """ - return str() - @printUtility.setter - def printUtility(self, value: str): + return SketchFittedSplines() + @property + def sketchFixedSplines(self) -> SketchFixedSplines: """ - Specifies which print utility to use when opening the 3MF 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 know 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. + Returns the fixed sketch splines collection associated with this sketch. + This provides access to the existing fixed sketch splines and supports + the creation of new fixed sketch splines. """ - pass + return SketchFixedSplines() @property - def sendToPrintUtility(self) -> bool: + def sketchConicCurves(self) -> SketchConicCurves: """ - 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. + Returns the conic curves collection associated with this sketch. + This provides access to the existing conic curves and supports the + creation of new conic curves. """ - return bool() - @sendToPrintUtility.setter - def sendToPrintUtility(self, value: bool): + return SketchConicCurves() + @property + def sketchControlPointSplines(self) -> SketchControlPointSplines: """ - 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. + 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. """ - pass + return SketchControlPointSplines() -class ChamferFeature(Feature): +class SketchDimension(core.Base): """ - Object that represents an existing chamfer feature in a design. + The base class for the all sketch dimensions. """ def __init__(self): pass @staticmethod - def cast(arg) -> ChamferFeature: - return ChamferFeature() - def setEqualDistance(self, distance: core.ValueInput) -> bool: + def cast(arg) -> SketchDimension: + return SketchDimension() + def deleteMe(self) -> 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 + Deletes this dimension. The IsDeletable property indicates if this dimension can be deleted. + Returns true if the delete was successful. """ return bool() - def setTwoDistances(self, distanceOne: core.ValueInput, distanceTwo: core.ValueInput) -> bool: + @property + def isDeletable(self) -> 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 + Indicates if this dimension is deletable. """ return bool() - def setDistanceAndAngle(self, distance: core.ValueInput, angle: core.ValueInput) -> bool: + @property + def textPosition(self) -> core.Point3D: """ - 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 + Gets and sets position of the dimension text. """ - return bool() - def createForAssemblyContext(self, occurrence: Occurrence) -> ChamferFeature: + return core.Point3D() + @textPosition.setter + def textPosition(self, value: core.Point3D): """ - 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. + Gets and sets position of the dimension text. """ - return ChamferFeature() + pass @property - def edges(self) -> core.ObjectCollection: + def parentSketch(self) -> Sketch: """ - 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. + Returns the parent sketch object. """ - return core.ObjectCollection() - @edges.setter - def edges(self, value: core.ObjectCollection): + return Sketch() + @property + def parameter(self) -> ModelParameter: """ - 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. + Returns the associated parameter or null if there is no associated parameter. """ - pass + return ModelParameter() @property - def isTangentChain(self) -> bool: + def assemblyContext(self) -> Occurrence: """ - Gets and sets whether or not edges that are tangentially connected to - the input edges (if any) will also be chamfered. + 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 isDriving(self) -> bool: + """ + Gets and sets if the dimension is Driving or is Driven. Setting this property to true for a given dimension + may fail if the result would over constrain the sketch. Fusion does not allow over-constrained sketches. """ return bool() - @isTangentChain.setter - def isTangentChain(self, value: bool): + @isDriving.setter + def isDriving(self, value: bool): """ - Gets and sets whether or not edges that are tangentially connected to - the input edges (if any) will also be chamfered. + Gets and sets if the dimension is Driving or is Driven. Setting this property to true for a given dimension + may fail if the result would over constrain the sketch. Fusion does not allow over-constrained sketches. """ pass @property - def chamferType(self) -> ChamferTypes: + def attributes(self) -> core.Attributes: """ - 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. + Returns the collection of attributes associated with this sketch dimension. """ - return ChamferTypes() + return core.Attributes() @property - def chamferTypeDefinition(self) -> ChamferTypeDefinition: + def entityToken(self) -> str: """ - 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. + Returns a token for the SketchDimension object. This can be saved and used at a later + time with the Design.findEntityByToken method to get back the same sketch dimension. + + 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 ChamferTypeDefinition() + return str() @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. - Returns null in the case where this object is not in the context of - an assembly but is already the native object. + def value(self) -> float: """ - return ChamferFeature() - @property - def cornerType(self) -> ChamferCornerTypes: + Gets and sets the current value of the sketch dimension. + + In a parametric modeling design 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 direct modeling design 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. """ - Gets and sets the type of corner to be modeled when multiple edges connect at a vertex. - """ - return ChamferCornerTypes() - @cornerType.setter - def cornerType(self, value: ChamferCornerTypes): + return float() + @value.setter + def value(self, value: float): """ - Gets and sets the type of corner to be modeled when multiple edges connect at a vertex. + Gets and sets the current value of the sketch dimension. + + In a parametric modeling design 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 direct modeling design 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 - @property - def edgeSets(self) -> ChamferEdgeSets: - """ - Returns the edge sets associated with this chamfer. - """ - return ChamferEdgeSets() -class ChordLengthFilletEdgeSet(FilletEdgeSet): +class SketchDimensionList(core.Base): """ - Provides access to the edges and the parameter associated with a chord length fillet. + A list of sketch dimensions. """ def __init__(self): pass @staticmethod - def cast(arg) -> ChordLengthFilletEdgeSet: - return ChordLengthFilletEdgeSet() - @property - def edges(self) -> core.ObjectCollection: - """ - Gets and sets the edges that will be 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) - """ - return core.ObjectCollection() - @edges.setter - def edges(self, value: core.ObjectCollection): + 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: """ - Gets and sets the edges that will be 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) + Function that returns the specified sketch dimension 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. """ - pass + return SketchDimension() @property - def chordLength(self) -> ModelParameter: + def count(self) -> int: """ - Returns the model parameter that controls the chord length of the fillet. You can edit - the chord length by using the properties on the returned ModelParameter object. + Returns the number of sketch dimensions in the sketch. """ - return ModelParameter() - -class CircularPatternConstraint(GeometricConstraint): - """ - A circular pattern constraint in a sketch. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> CircularPatternConstraint: - return CircularPatternConstraint() + return int() -class CircularPatternFeature(Feature): +class SketchDimensions(core.Base): """ - Object that represents an existing circular pattern feature in a design. + A collection of the dimensions in a sketch. This object also supports the methods to add + new sketch dimensions. """ def __init__(self): pass @staticmethod - def cast(arg) -> CircularPatternFeature: - return CircularPatternFeature() - def createForAssemblyContext(self, occurrence: Occurrence) -> CircularPatternFeature: - """ - 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 CircularPatternFeature() - @property - def inputEntities(self) -> core.ObjectCollection: - """ - Gets and sets the input entities. The collection can contain faces, features, bodies or occurrences. - All of the entities must be of a single type. For example, it can't contain features and occurrences - but only features or occurrences. - - 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() - @inputEntities.setter - def inputEntities(self, value: core.ObjectCollection): - """ - Gets and sets the input entities. The collection can contain faces, features, bodies or occurrences. - All of the entities must be of a single type. For example, it can't contain features and occurrences - but only features or occurrences. - - 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) + 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: """ - pass - @property - def axis(self) -> core.Base: + Function that returns the specified sketch dimension 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 the axis of circular pattern. This can be a sketch line, linear edge, - construction axis, an edge/sketch curve that defines an axis (circle, etc.) or a face that defines an axis (cylinder, cone, torus, etc.). - - 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 SketchDimension() + def addDistanceDimension(self, pointOne: SketchPoint, pointTwo: SketchPoint, orientation: DimensionOrientations, textPoint: core.Point3D, isDriving: bool = True) -> SketchLinearDimension: """ - return core.Base() - @axis.setter - def axis(self, value: core.Base): + Creates a new linear dimension constraint between the two input entities. + pointOne : The first SketchPoint to dimension to. + pointTwo : The second SketchPoint to dimension to.. + orientation : The orientation of the dimension. + 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. """ - Gets and sets the axis of circular pattern. This can be a sketch line, linear edge, - construction axis, an edge/sketch curve that defines an axis (circle, etc.) or a face that defines an axis (cylinder, cone, torus, etc.). - - 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 SketchLinearDimension() + def addOffsetDimension(self, line: SketchLine, entityTwo: SketchEntity, textPoint: core.Point3D, isDriving: bool = True) -> SketchOffsetDimension: """ - pass - @property - def totalAngle(self) -> ModelParameter: + 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 + to the first. The dimension controls the distance as measured perpendicular to the first + input line. + line : The SketchLine to dimension to. + 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. """ - Returns the parameter controlling the total angle. - To edit the angle use properties on the parameter to edit its value. - This property returns null in the case where the feature is non-parametric. - A negative value can be used to change the direction of the pattern. + return SketchOffsetDimension() + def addAngularDimension(self, lineOne: SketchLine, lineTwo: SketchLine, textPoint: core.Point3D, isDriving: bool = True) -> SketchAngularDimension: """ - return ModelParameter() - @property - def isSymmetric(self) -> bool: + 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. + lineOne : The first SketchLine to dimension to. + lineTwo : The second SketchLine to dimension to. + textPoint : A Point3D object that defines the position of the dimension text. The position of the + text also defines which quadrant will be dimensioned. + 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. """ - Gets and sets if the angle extent is in one direction or symmetric. - - 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 SketchAngularDimension() + def addDiameterDimension(self, entity: SketchCurve, textPoint: core.Point3D, isDriving: bool = True) -> SketchDiameterDimension: """ - return bool() - @isSymmetric.setter - def isSymmetric(self, value: bool): + Creates a new diameter dimension constraint on the arc or circle. + entity : The SketchCircle or SketchArc to dimension. + 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. """ - Gets and sets if the angle extent is in one direction or symmetric. - - 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 SketchDiameterDimension() + def addRadialDimension(self, entity: SketchCurve, textPoint: core.Point3D, isDriving: bool = True) -> SketchRadialDimension: """ - pass - @property - def quantity(self) -> ModelParameter: + Creates a new radial dimension constraint on the arc or circle. + entity : The SketchCircle or SketchArc to dimension. + 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. """ - Returns the parameter controlling the number of pattern elements, including any suppressed elements. - To edit the quantity use properties on the parameter to edit its value. - This property returns null in the case where the feature is non-parametric. + return SketchRadialDimension() + def addEllipseMajorRadiusDimension(self, ellipse: SketchCurve, textPoint: core.Point3D, isDriving: bool = True) -> SketchEllipseMajorRadiusDimension: """ - return ModelParameter() - @property - def suppressedElementsIds(self) -> list[int]: + Creates a new dimension constraint on the major radius of an ellipse. + ellipse : The SketchEllipse to dimension. + 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. """ - Gets and sets the id's of the elements to suppress. - - 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 SketchEllipseMajorRadiusDimension() + def addEllipseMinorRadiusDimension(self, ellipse: SketchCurve, textPoint: core.Point3D, isDriving: bool = True) -> SketchEllipseMinorRadiusDimension: """ - return [int()] - @suppressedElementsIds.setter - def suppressedElementsIds(self, value: list[int]): + Creates a new dimension constraint on the minor radius of an ellipse. + ellipse : The SketchEllipse to dimension. + 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. """ - Gets and sets the id's of the elements to suppress. - - 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 SketchEllipseMinorRadiusDimension() + def addConcentricCircleDimension(self, circleOne: SketchCurve, circleTwo: SketchCurve, textPoint: core.Point3D, isDriving: bool = True) -> SketchConcentricCircleDimension: """ - pass - @property - def patternElements(self) -> PatternElements: + Creates a new dimension constraint between to concentric circles or arcs. + circleOne : The first SketchCircle or SketchArc to dimension. + circleTwo : The second SketchCircle or SketchArc to dimension. + 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. """ - Gets the PatternElements collection that contains the elements created by this pattern. + 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 PatternElements() - @property - def resultFeatures(self) -> core.ObjectCollection: + return SketchTangentDistanceDimension() + def addLinearDiameterDimension(self, centerLine: SketchLine, entityTwo: SketchEntity, textPoint: core.Point3D, isDriving: bool = True) -> SketchLinearDiameterDimension: """ - Returns the features that were created as a result of this pattern. - This is only valid for a direct edit model and this returns null - in the case where the feature is parametric. + 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 core.ObjectCollection() - @property - def nativeObject(self) -> CircularPatternFeature: + return SketchLinearDiameterDimension() + def addDistanceBetweenPointAndSurfaceDimension(self, point: SketchPoint, surface: core.Base, isDriving: bool = True) -> 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. + 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, spherical and conical faces are supported. + If a cylindrical, spherical or conical 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 CircularPatternFeature() - @property - def patternEntityType(self) -> PatternEntityTypes: + return SketchDistanceBetweenPointAndSurfaceDimension() + def addDistanceBetweenLineAndPlanarSurfaceDimension(self, line: SketchLine, planarSurface: core.Base, isDriving: bool = True) -> SketchDistanceBetweenLineAndPlanarSurfaceDimension: """ - Returns the type of entities the pattern consists of. This can be used to help - determine the type of results that will be found in the pattern elements. + 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 PatternEntityTypes() + return SketchDistanceBetweenLineAndPlanarSurfaceDimension() @property - def patternComputeOption(self) -> PatternComputeOptions: - """ - Gets and sets the compute option for this pattern feature. - This property only applies when patterning features and is ignored in the direct modeling environment. - - 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 PatternComputeOptions() - @patternComputeOption.setter - def patternComputeOption(self, value: PatternComputeOptions): + def count(self) -> int: """ - Gets and sets the compute option for this pattern feature. - This property only applies when patterning features and is ignored in the direct modeling environment. - - 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) + Returns the number of sketch dimensions in the sketch. """ - pass - -class CoilFeature(Feature): - """ - Object that represents an existing coil primitive feature in a design. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> CoilFeature: - return CoilFeature() + return int() -class CoincidentConstraint(GeometricConstraint): +class SketchEllipses(core.Base): """ - A coincident constraint in a sketch. + The collection of ellipses in a sketch. This provides access to the existing + ellipses and supports the methods to create new ellipses. """ def __init__(self): pass @staticmethod - def cast(arg) -> CoincidentConstraint: - return CoincidentConstraint() - def createForAssemblyContext(self, occurrence: Occurrence) -> CoincidentConstraint: - """ - 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 CoincidentConstraint() - @property - def point(self) -> SketchPoint: + 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: """ - Returns the sketch point that is constrained. + Function that returns the specified sketch ellipse 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 SketchPoint() - @property - def entity(self) -> SketchEntity: + return SketchEllipse() + def add(self, centerPoint: core.Base, majorAxisPoint: core.Point3D, point: core.Point3D) -> SketchEllipse: """ - The sketch curve or point the point is constrained to. + Creates a sketch ellipse using the center point, a point defining the major axis + and a third point anywhere along the ellipse. The created ellipse is parallel to the + x-y plane of the sketch. + centerPoint : The center point of the ellipse. This can be either an existing SketchPoint or a Point3D object. + majorAxisPoint : A point3D object that defines both the major axis direction and major axis radius. + point : A point3D object that the ellipse will pass through. + Returns the newly created SketchEllipse object if the creation was successful or null if it failed. """ - return SketchEntity() + return SketchEllipse() @property - def nativeObject(self) -> CoincidentConstraint: + def count(self) -> int: """ - 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. + Returns the number of ellipses in the sketch. """ - return CoincidentConstraint() + return int() -class CollinearConstraint(GeometricConstraint): +class SketchEllipticalArcs(core.Base): """ - A collinear constraint in a sketch. + The collection of elliptical arcs in a sketch. This provides access to the existing + elliptical arcs and supports the methods to create new elliptical arcs. """ def __init__(self): pass @staticmethod - def cast(arg) -> CollinearConstraint: - return CollinearConstraint() - def createForAssemblyContext(self, occurrence: Occurrence) -> CollinearConstraint: + 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: """ - 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. + Function that returns the specified sketch elliptical arc 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 CollinearConstraint() - @property - def lineOne(self) -> SketchLine: + return SketchEllipticalArc() + def addByAngle(self, centerPoint: core.Base, majorAxis: core.Vector3D, minorAxis: core.Vector3D, startAngle: float, sweepAngle: float) -> SketchEllipticalArc: """ - Returns the first line. + 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 SketchLine() - @property - def lineTwo(self) -> SketchLine: + return SketchEllipticalArc() + def addByEndPoints(self, centerPoint: core.Base, majorAxis: core.Vector3D, minorAxis: core.Vector3D, startPoint: core.Base, endPoint: core.Base) -> SketchEllipticalArc: """ - Returns the second line. + 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 SketchLine() + return SketchEllipticalArc() @property - def nativeObject(self) -> CollinearConstraint: + def count(self) -> int: """ - 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. + Returns the number of elliptical arcs in the sketch. """ - return CollinearConstraint() + return int() -class CombineFeature(Feature): +class SketchEntity(core.Base): """ - Object that represents an existing Combine feature in a design. - In non-parametric environment this object does not exist. + This object represents all geometry in a sketch, including all + the various curves, points, and text. """ def __init__(self): pass @staticmethod - def cast(arg) -> CombineFeature: - return CombineFeature() - def createForAssemblyContext(self, occurrence: Occurrence) -> CombineFeature: + def cast(arg) -> SketchEntity: + return SketchEntity() + def deleteMe(self) -> bool: """ - 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. + Deletes the entity from the sketch. + Returns true is the delete was successful. """ - return CombineFeature() + return bool() @property - def targetBody(self) -> BRepBody: + def parentSketch(self) -> Sketch: """ - Gets and sets the BRep Body object that represents the blank body. - - 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 the parent sketch. """ - return BRepBody() - @targetBody.setter - def targetBody(self, value: BRepBody): + return Sketch() + @property + def sketchDimensions(self) -> SketchDimensionList: """ - Gets and sets the BRep Body object that represents the blank body. - - 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 the sketch dimensions that are attached to this curve. """ - pass + return SketchDimensionList() @property - def toolBodies(self) -> core.ObjectCollection: + def geometricConstraints(self) -> GeometricConstraintList: """ - Gets and sets the BRep Body objects that represent the tool bodies. - - 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 the sketch constraints that are attached to this curve. """ - return core.ObjectCollection() - @toolBodies.setter - def toolBodies(self, value: core.ObjectCollection): + return GeometricConstraintList() + @property + def is2D(self) -> bool: """ - Gets and sets the BRep Body objects that represent the tool bodies. - - 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) + Indicates if this curve lies entirely on the sketch x-y plane. """ - pass + return bool() @property - def operation(self) -> FeatureOperations: + def isReference(self) -> bool: """ - Gets and sets the type of operation performed by the combine. - The valid values are JoinFeatureOperation, CutFeatureOperation and IntersectFeatureOperation. - - 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) + Indicates if this geometry is a reference. + Changing this property from true to false removes the reference. + This property can not be set to true if it is already false. """ - return FeatureOperations() - @operation.setter - def operation(self, value: FeatureOperations): + return bool() + @isReference.setter + def isReference(self, value: bool): """ - Gets and sets the type of operation performed by the combine. - The valid values are JoinFeatureOperation, CutFeatureOperation and IntersectFeatureOperation. - - 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) + Indicates if this geometry is a reference. + Changing this property from true to false removes the reference. + This property can not be set to true if it is already false. """ pass @property - def isNewComponent(self) -> bool: - """ - Gets a boolean value for whether or not a new component was created when this feature was created. - """ - return bool() - @property - def isKeepToolBodies(self) -> bool: + def isFixed(self) -> bool: """ - Gets and sets a boolean value for whether or not the tool bodies are retrained after the combine results. - - 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) + Indicates if this geometry is "fixed". """ return bool() - @isKeepToolBodies.setter - def isKeepToolBodies(self, value: bool): + @isFixed.setter + def isFixed(self, value: bool): """ - Gets and sets a boolean value for whether or not the tool bodies are retrained after the combine results. - - 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) + Indicates if this geometry is "fixed". """ pass @property - def nativeObject(self) -> CombineFeature: + def isVisible(self) -> bool: """ - 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. + When a sketch is created, geometry is sometimes automatically added to the sketch. + For example a sketch point that references the origin point is always included and + if a face was selected to create the sketch on, geometry from the face is also included. + This automatically created geometry behaves in a special way in that it is invisible + but is available for selection and it also participates in profile calculations. It's + not possible to make them visible but they can be deleted and they can be used for any + other standard sketch operation. + """ + return bool() + @property + def boundingBox(self) -> core.BoundingBox3D: + """ + Returns the bounding box of the entity in sketch space. + """ + return core.BoundingBox3D() + @property + def referencedEntity(self) -> core.Base: + """ + Returns the referenced entity in the case where IsReference + is true. However, this property can also return null when + IsReference is true in the case where the reference is not + parametric. + """ + return core.Base() + @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 isDeletable(self) -> bool: + """ + Indicates if this sketch entity can be deleted. There are cases, especially with sketch + points where another entity is dependent on an entity so deleting it is not allowed. + For example, you can't delete the center point of circle by itself but deleting the circle + will delete the point. The same is true for the end points of a line. + """ + return bool() + @property + def isFullyConstrained(self) -> bool: + """ + Indicates if this sketch entity is fully constrained. + """ + return bool() + @property + def attributes(self) -> core.Attributes: + """ + Returns the collection of attributes associated with this face. + """ + return core.Attributes() + @property + def entityToken(self) -> str: + """ + Returns a token for the SketchEntity object. This can be saved and used at a later + time with the Design.findEntityByToken method to get back the same sketch entity. + + 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 isLinked(self) -> bool: + """ + Indicates if this sketch entity was created by a projection, inclusion, or driven by an API script. + If this returns true, then the entity is presented to the user as not editable and with a 'break link' + command available. + """ + return bool() + +class SketchEntityList(core.Base): + """ + A list of sketch entities. + """ + def __init__(self): + pass + @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. + 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 SketchEntity() + @property + def count(self) -> int: + """ + Returns the number of sketch entities in the list. + """ + return int() + +class Sketches(core.Base): + """ + Provides access to the sketches within a design and provides + methods to create new sketches. + """ + def __init__(self): + pass + @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. + 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 Sketch() + def itemByName(self, name: str) -> Sketch: + """ + Returns the sketch with the specified name. + name : The name of the sketch as seen in the browser and the timeline. + Returns the sketch or null if there isn't a sketch with that name. + """ + return 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 + occurrenceForCreation : A creation occurrence is needed if the planarEntity is in another component AND the + sketch is not in the root component. The occurrenceForCreation is analogous + to the active occurrence in the UI. + Returns the newly created Sketch or null if the creation failed. + """ + return Sketch() + def addToBaseOrFormFeature(self, planarEntity: core.Base, targetBaseOrFormFeature: core.Base, includeFaceEdges: bool) -> Sketch: + """ + Creates a parametric sketch that is associated with a base feature. + + Because of a current limitation, if you want to create a sketch associated with a base + feature, you must first call the edit method of the base feature, use this method to + create the sketch, 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. + planarEntity : A construction plane or planar face that defines the sketch plane. + targetBaseOrFormFeature : The existing base feature that you want to associate this sketch with. + includeFaceEdges : When a BrepFace is used as the planarEntity argument, this defines if the edges of the face + should be included in the sketch. + Returns the newly created Sketch or null if the creation failed. + """ + return 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 + always be a new empty sketch. + planarEntity : A construction plane or planar face that defines the sketch plane. + occurrenceForCreation : A creation occurrence is needed if the planarEntity is in another component AND the + sketch is not in the root component. The occurrenceForCreation is analogous + to the active occurrence in the UI. + Returns the newly created Sketch or null if the creation failed. + """ + return Sketch() + @property + def count(self) -> int: + """ + Returns the number of sketches in a component + """ + return int() + +class SketchFittedSplines(core.Base): + """ + The collection of fitted splines in a sketch. This provides access to the existing + fitted splines and supports the methods to create new fitted splines. + """ + def __init__(self): + pass + @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. + 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 SketchFittedSpline() + def add(self, fitPoints: core.ObjectCollection) -> SketchFittedSpline: + """ + Creates a new fitted spline through the specified points. + fitPoints : A collection of points that the curve will fit through. They + can be any combination of existing SketchPoint or Point3D objects. + Returns the newly created SketchFittedSpline object if the creation was successful or null if it failed. + """ + return SketchFittedSpline() + @property + def count(self) -> int: + """ + Returns the number of fitted splines in the sketch. + """ + return int() + +class SketchFixedSplines(core.Base): + """ + The collection of fixed splines in a sketch. Fixed splines are splines that were created + as the result of some operation (i.e. intersection) and is not directly editable. + """ + def __init__(self): + pass + @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. + 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 SketchFixedSpline() + def addByNurbsCurve(self, nurbsCurve: core.NurbsCurve3D) -> SketchFixedSpline: + """ + Creates a new fixed spline using the input NurbsCurve3D to define the shape. The resulting curve + is not editable by the user but can be updated via the API using the replaceGeometry method on the + SketchFixedSpline object. + nurbsCurve : A NurbsCurve3D object that defines a valid NURBS curve. + Returns the newly created SketchFixedSpline object if the creation was successful or null if it failed. + """ + return SketchFixedSpline() + @property + def count(self) -> int: + """ + Returns the number of fitted splines in the sketch. + """ + return int() + +class SketchLineList(core.Base): + """ + A list of sketch lines. + """ + def __init__(self): + pass + @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. + 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 SketchLine() + @property + def count(self) -> int: + """ + Returns the number of sketch lines in the list. + """ + return int() + +class SketchLines(core.Base): + """ + The collection of lines in a sketch. This provides access to the existing + lines and supports the methods to create new lines. + """ + def __init__(self): + pass + @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. + 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 SketchLine() + def addByTwoPoints(self, startPoint: core.Base, endPoint: core.Base) -> SketchLine: + """ + Creates a sketch line between the two input points. The input points + can be either existing SketchPoints or Point3D objects. If a SketchPoint + is used the new line will be based on that sketch point and update if the + sketch point is modified. + startPoint : The start point of the line. It can be a SketchPoint or Point3D object. + endPoint : The end point of the line. It can be a SketchPoint or Point3D object. + Returns the newly created SketchLine object or null if the creation failed. + """ + return SketchLine() + def addTwoPointRectangle(self, pointOne: core.Base, pointTwo: core.Base) -> SketchLineList: + """ + Creates four sketch lines representing a rectangle where the two points are the opposing corners + of the rectangle. The input points can be either existing SketchPoints or Point3D objects. + If a SketchPoint is used the new lines will be based on that sketch point and update if the + sketch point is modified. + pointOne : The first corner of the rectangle. It can be a SketchPoint or Point3D object. + pointTwo : The second corner of the rectangle. It can be a SketchPoint or Point3D object. + Returns the four new sketch lines or null if the creation failed. + """ + return SketchLineList() + def addThreePointRectangle(self, pointOne: core.Base, pointTwo: core.Base, pointThree: core.Point3D) -> SketchLineList: + """ + Creates four sketch lines representing a rectangle where the first two points are the base corners + of the rectangle and the third point defines the height. + pointOne : The first corner of the rectangle. It can be a SketchPoint or Point3D object. + pointTwo : The first corner of the rectangle. It can be a SketchPoint or Point3D object. + pointThree : The first corner of the rectangle. a Point3D object defining the height of the rectangle. + Returns the four new sketch lines or null if the creation failed. + """ + return SketchLineList() + def addCenterPointRectangle(self, centerPoint: core.Point3D, cornerPoint: core.Base) -> SketchLineList: + """ + Creates four sketch lines representing a rectangle where the first point represents the center of + the rectangle. The second point is the corner of the rectangle and can be either an existing + SketchPoint or Point3D object. The four sketch lines are returned. + centerPoint : The center point of the rectangle + cornerPoint : The corner of the rectangle. It can be a SketchPoint or Point3D object. + Returns the four new sketch lines or null if the creation failed. + """ + return SketchLineList() + def addDistanceChamfer(self, firstLine: SketchLine, firstLinePoint: core.Point3D, secondLine: SketchLine, secondLinePoint: core.Point3D, distanceOne: float, distanceTwo: float) -> SketchLine: + """ + Creates a chamfer between two sketch lines. In the case where the two input lines cross each other creating + an "X" shape, this results in four quadrants where the chamfer can be placed. The point arguments are used + to define which of the four quadrants the chamfer should be created in. The two points define which side of + the two lines should be kept and the other end will be trimmed by the chamfer. The easiest way to use this is + to use the end points of the lines on the side you want to keep. + In the case where the lines don't intersect or connect at the end points, there is only one valid quadrant + for the chamfer so the points are ignored. + firstLine : The first line you want to chamfer. + firstLinePoint : A point on the first line that is on the side of the intersection with the second line that you want to keep. + secondLine : The second line you want to chamfer. + secondLinePoint : A point on the second line that is on the side of the intersection with the first line that you want to keep. + distanceOne : Defines the distance of the start point of the chamfer line from the intersection point of the two lines along the first line. + The distance is defined in centimeters. + distanceTwo : Defines the distance of the start point of the chamfer line from the intersection point of the two lines along the second line. + The distance is defined in centimeters. + Returns the newly created SketchLine object that represents the chamfer or null if the creation failed. + """ + return SketchLine() + def addAngleChamfer(self, firstLine: SketchLine, firstLinePoint: core.Point3D, secondLine: SketchLine, secondLinePoint: core.Point3D, distance: float, angle: float) -> SketchLine: + """ + Creates a chamfer between two sketch lines. In the case where the two input lines cross each other creating + an "X" shape, this results in four quadrants where the chamfer can be placed. The point arguments are used + to define which of the four quadrants the chamfer should be created in. The two points define which side of + the two lines should be kept and the other end will be trimmed by the chamfer. The easiest way to use this is + to use the end points of the lines on the side you want to keep. + In the case where the lines don't intersect or connect at the end points, there is only one valid quadrant + for the chamfer so the points are ignored. + firstLine : The first line you want to chamfer. + firstLinePoint : A point on the first line that is on the side of the intersection with the second line that you want to keep. + secondLine : The second line you want to chamfer. + secondLinePoint : A point on the second line that is on the side of the intersection with the first line that you want to keep. + distance : Defines the distance of the start point of the chamfer from the intersection point of the two lines along the first line. + The distance is defined in centimeters. + angle : Defines the angle of the chamfer as measured from the first line. + The angle is defined in radians. + Returns the newly created SketchLine object that represents the chamfer or null if the creation failed. + """ + return SketchLine() + def addScribedPolygon(self, centerPoint: core.Base, edgeCount: int, angle: float, radius: float, isInscribed: bool) -> SketchLineList: + """ + Creates either an inscribed or circumscribed n-sided polygon. + centerPoint : Either an existing SketchPoint or a Point3D object that defines the center point of the polygon. If a SketchPoint object + is provided the point will continue to control the center of the polygon. + edgeCount : The number of edges in the resulting polygon. + angle : Controls the rotation of the polygon around the center point. For a circumscribed polygon, this defines where the center + of one of the edges will be positioned. For an inscribed polygon, this defines where one of the corners of the polygon + will be positioned. + radius : The radius of the circle in centimeters that the polygon goes to, either outside (circumscribed) or inside (inscribed) the circle. + isInscribed : Specifies if a circumscribed or inscribed polygon should be created. + Returns a list of the sketch lines that were created to represent the polygon or null in the case of bad input. + """ + return SketchLineList() + def addEdgePolygon(self, pointOne: core.Base, pointTwo: core.Base, isRight: bool, edgeCount: int) -> SketchLineList: + """ + Creates a polygon where two points specify an edge of the polygon. By specifying an edge, the size and position of + the polygon is also defined. + pointOne : The first point of the edge. + pointTwo : The second point of the edge. + isRight : After defining points one and two, a polygon can be created on either side of the line defined by the two points. + This argument specifies which side of the line the polygon will be created on. If this is true, the polygon will + be created to the right of the line from the perspective of looking from point one to point two. If false, + it will be to the left of the line. + edgeCount : The number of edges in the resulting polygon. + Returns a list of the sketch lines that were created to represent the polygon or null in the case of bad input. + """ + return SketchLineList() + @property + def count(self) -> int: + """ + Returns the number of lines in the sketch. + """ + return int() + +class SketchPointList(core.Base): + """ + A list of sketch points. + """ + def __init__(self): + pass + @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. + 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 SketchPoint() + @property + def count(self) -> int: + """ + Returns the number of sketch points in the list. + """ + return int() + +class SketchPoints(core.Base): + """ + A collection of sketch points. + """ + def __init__(self): + pass + @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. + 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 SketchPoint() + def add(self, point: core.Point3D) -> SketchPoint: + """ + Creates a point at the specified location. This is the equivalent + of creating a sketch point using the Point command in the user + interface and will create a visible point in the graphics window. + point : The coordinate location to create the sketch point. + Returns the new sketch point or null if the creation fails. + """ + return SketchPoint() + @property + def count(self) -> int: + """ + Returns the number of sketch points in the sketch. + """ + return int() + +class SketchTextDefinition(core.Base): + """ + The base class for the classes that define how text can be defined. + """ + def __init__(self): + pass + @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): + """ + 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. A SketchTextInput object is created by using the createInput of the SketchTexts object. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SketchTextInput: + return SketchTextInput() + def setAsFitOnPath(self, path: core.Base, isAbovePath: bool) -> bool: + """ + Sets this SketchTextInput to define text that fits along a specified path. Fitting on a path will + space the characters so the text fits along the entire length of the path entity. + path : The entity that defines the path for the text. This can be a SketchCurve or BRepEdge object. + isAbovePath : Indicates if the text should be positioned above or below the path entity. + Returns true if the setting the definition was successful. + """ + return bool() + def setAsAlongPath(self, path: core.Base, isAbovePath: bool, horizontalAlignment: core.HorizontalAlignments, characterSpacing: float) -> bool: + """ + Sets this SketchTextInput to define text that follows along a specified path. + path : The entity that defines the path for the text. This can be a SketchCurve or BRepEdge object. + isAbovePath : Indicates if the text should be positioned above or below the path entity. + horizontalAlignment : Specifies the horizontal alignment of the text with respect to the path curve. + characterSpacing : The percentage change in default spacing between characters. + Returns true if the setting the definition was successful. + """ + return bool() + def setAsMultiLine(self, cornerPoint: core.Base, diagonalPoint: core.Base, horizontalAlignment: core.HorizontalAlignments, verticalAlignment: core.VerticalAlignments, characterSpacing: float) -> bool: + """ + Defines the first corner point of the rectangle that will contain the text. + cornerPoint : Specifies the location of one of the corner points of the rectangle that will contain the text. + This can be a Point3D object, with a Z component of zero, to define any arbitrary location on the X-Y + plane of the sketch or it can be an existing SketchPoint that lies on the sketch X-Y plane. + diagonalPoint : Specifies the location of the diagonal point of the rectangle that will contain the text. This point + cannot be aligned vertically or horizontally to the corner point but be a diagonal point to define + a rectangle. This can be a Point3D object, with a Z component of zero, to define any arbitrary location on the X-Y + plane of the sketch or it can be an existing SketchPoint that lies on the sketch X-Y plane and the sketch point + will become the opposing corner point. + horizontalAlignment : Specifies the horizontal alignment of the text with respect to the text rectangle. + verticalAlignment : Specifies the vertical alignment of the text with respect to the text rectangle. + characterSpacing : The spacing between the characters. This is an additional spacing to apply that is defined + as a percentage of the default spacing. A spacing of 0 indicates no additional spacing. + A spacing of 50 indicates to use the default plus 50% of the default. + Returns true if the setting the definition was successful. + """ + return bool() + @property + def text(self) -> str: + """ + Gets and sets the displayed text. This represents the text that results from evaluating the input formatted text. For example, + if the formatted text is "'Length: ' + lengthParam", this property will return "Length: 3.0 in". + + Setting this property will overwrite any equation defined by the expression and replace it with simple text. Use the + expression property to be able to define a full expression. + """ + return str() + @text.setter + def text(self, value: str): + """ + Gets and sets the displayed text. This represents the text that results from evaluating the input formatted text. For example, + if the formatted text is "'Length: ' + lengthParam", this property will return "Length: 3.0 in". + + Setting this property will overwrite any equation defined by the expression and replace it with simple text. Use the + expression property to be able to define a full expression. + """ + pass + @property + def fontName(self) -> str: + """ + Gets and sets the name of the font to use. + """ + return str() + @fontName.setter + def fontName(self, value: str): + """ + Gets and sets the name of the font to use. + """ + 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 + can be combined to apply multiple styles. For example you can apply bold and italic. + """ + return TextStyles() + @textStyle.setter + def textStyle(self, value: TextStyles): + """ + Gets and sets the text style to apply to the entire text. This is a bitwise enum so styles + can be combined to apply multiple styles. For example you can apply bold and italic. + """ + pass + @property + def isHorizontalFlip(self) -> bool: + """ + Gets and sets if the text is flipped horizontally. + """ + return bool() + @isHorizontalFlip.setter + def isHorizontalFlip(self, value: bool): + """ + Gets and sets if the text is flipped horizontally. + """ + pass + @property + def isVerticalFlip(self) -> bool: + """ + Gets and sets if the text is flipped vertically. + """ + return bool() + @isVerticalFlip.setter + def isVerticalFlip(self, value: bool): + """ + Gets and sets if the text is flipped vertically. + """ + pass + @property + def definition(self) -> SketchTextDefinition: + """ + Returns the SketchTextDefinition object associated with this input. When the SketchTextInput is first created this + property will return null. Once one of the "set" methods have been called, this will return the SketchTextDefinition + of the appropriate type and can be used to make any additional changes to the text. + """ + return SketchTextDefinition() + @property + def expression(self) -> str: + """ + Gets and sets the expression of the parameter that will be created when this SketchText is created. It can be a simple string + or it can be an expression that combines text with parameter values. Simple text must be enclosed within single quotes, + the same as it is required in the TEXT command dialog. + + An example of a valid expression is: "'Length: ' + lengthParam" and will result in "Length: 3.0 mm". The expression + result can be obtained by using the text property on the created SketchTextInput object. + """ + return str() + @expression.setter + def expression(self, value: str): + """ + Gets and sets the expression of the parameter that will be created when this SketchText is created. It can be a simple string + or it can be an expression that combines text with parameter values. Simple text must be enclosed within single quotes, + the same as it is required in the TEXT command dialog. + + An example of a valid expression is: "'Length: ' + lengthParam" and will result in "Length: 3.0 mm". The expression + result can be obtained by using the text property on the created SketchTextInput object. + """ + pass + @property + def height2(self) -> core.ValueInput: + """ + Gets and sets the ValueInput that defines the height of the text. This value is used to create a + parameter that will control the height of the text. It can be a value where it defines the height + of the text in centimeters, or it can be a string where it defines the equation of the parameter + and must evaluate to a valid length. + """ + return core.ValueInput() + @height2.setter + def height2(self, value: core.ValueInput): + """ + Gets and sets the ValueInput that defines the height of the text. This value is used to create a + parameter that will control the height of the text. It can be a value where it defines the height + of the text in centimeters, or it can be a string where it defines the equation of the parameter + and must evaluate to a valid length. + """ + pass + +class SketchTexts(core.Base): + """ + The collection of text blocks in a sketch. This provides access to the existing + text blocks and supports creating new text blocks. + """ + def __init__(self): + pass + @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. + 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 SketchText() + def add(self, input: SketchTextInput) -> SketchText: + """ + Creates a sketch text. + input : A SketchTextInput object created using the SketchTexts.createInput method. + Returns the newly created SketchText object or null in the case of failure. + """ + return SketchText() + def createInput3(self, expression: str, height: core.ValueInput) -> SketchTextInput: + """ + Creates a SketchTextInput object that is used to define the additional input to create text. The SketchTextInput + object is equivalent to the Sketch Text dialog in that it collects all of the input required to create sketch text. + You must call setAsFitOnPath, setAsAlongPath, or setAsMultiLine methods to define one of the three types of text. + Once the properties of the SketchTextInput object have been defined, pass the SketchTextInput to the add method + to create the sketch text. + expression : This defines the expression of the parameter that will be created when this SketchText is created. It can be a simple string + or it can be an expression that combines text with parameter values. Simple text must be enclosed within single quotes, + the same as it is required in the TEXT command dialog. + + An example of a valid expression is: "'Length: ' + lengthParam" and will result in "Length: 3.0 mm". The expression + result can be obtained by using the text property on the created SketchTextInput object. + height : A ValueInput that defines the height of the text. This value is used to create a parameter that will control + the height of the text. It can be a value where it defines the height of the text in centimeters, or it can + be a string where it defines the equation of the parameter and must evaluate to a valid length. + Returns a SketchTextInput object that can be used to set additional formatting and is used as input to the add method. + """ + return SketchTextInput() + @property + def count(self) -> int: + """ + Returns the number of texts in the sketch. + """ + return int() + +class Snapshot(core.Base): + """ + Object that represents a Snapshot in the timeline + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Snapshot: + return Snapshot() + def deleteMe(self) -> bool: + """ + Deletes this snapshot. + Returns true if the delete was successful. + """ + return bool() + @property + def name(self) -> str: + """ + Gets and sets the name of the snapshot as seen in the timeline. + """ + return str() + @name.setter + def name(self, value: str): + """ + Gets and sets the name of the snapshot as seen in the timeline. + """ + pass + @property + def timelineObject(self) -> TimelineObject: + """ + Returns the timeline object associated with this snapshot. + """ + return TimelineObject() + +class Snapshots(core.Base): + """ + Provides access to the Snapshots within a design and provides + methods to create new Snapshots. + """ + def __init__(self): + pass + @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. + Returns the newly created snapshot. + """ + return Snapshot() + def item(self, index: int) -> Snapshot: + """ + Function that returns the specified snapshot in the collection 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 Snapshot() + def revertPendingSnapshot(self) -> bool: + """ + Reverts and changes that have been made that can be snapshot. This effectively + reverts the design back to the last snapshot. This is only valid when the + HasPendingSnapshot property returns true. + Returns true if the revert was successful. + """ + return bool() + @property + def count(self) -> int: + """ + The number of items in the collection. + """ + return int() + @property + def hasPendingSnapshot(self) -> bool: + """ + Indicates if there are any changes that have been made than can be snapshot. + """ + return bool() + +class SphereFeatures(core.Base): + """ + Collection that provides access to all of the existing torus features in a design. + """ + def __init__(self): + pass + @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. + 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 SphereFeature() + def itemByName(self, name: str) -> SphereFeature: + """ + Function that returns the specified sphere 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 SphereFeature() + @property + def count(self) -> int: + """ + The number of sphere features in the collection. + """ + return int() + +class SplitBodyFeatureInput(core.Base): + """ + This class defines the methods and properties that pertain to the definition of a split body feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SplitBodyFeatureInput: + return SplitBodyFeatureInput() + @property + def splitBodies(self) -> core.Base: + """ + Gets and sets the input solid or open bodies to be split. This can be a + single BRepBody or an ObjectCollection if multiple bodies are to be split. + """ + return core.Base() + @splitBodies.setter + def splitBodies(self, value: core.Base): + """ + Gets and sets the input solid or open bodies to be split. This can be a + single BRepBody or an ObjectCollection if multiple bodies are to be split. + """ + pass + @property + def splittingTool(self) -> core.Base: + """ + Gets and sets the entity that defines the splitting tool. The splitting tool is a single + entity that can be either a solid or open BRepBody, construction plane, profile, or a face. + """ + return core.Base() + @splittingTool.setter + def splittingTool(self, value: core.Base): + """ + Gets and sets the entity that defines the splitting tool. The splitting tool is a single + entity that can be either a solid or open BRepBody, construction plane, profile, or a face. + """ + pass + @property + def isSplittingToolExtended(self) -> bool: + """ + Gets and sets whether or not the splitting tool is to be automatically extended (if possible) so as to + completely intersect the bodyToSplit. + """ + return bool() + @isSplittingToolExtended.setter + def isSplittingToolExtended(self, value: bool): + """ + Gets and sets whether or not the splitting tool is to be automatically extended (if possible) so as to + completely intersect the bodyToSplit. + """ + 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 SplitBodyFeatures(core.Base): + """ + Collection that provides access to all of the existing split body features in a component + and supports the ability to create new split body features. + """ + def __init__(self): + pass + @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. + 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 SplitBodyFeature() + def createInput(self, splitBodies: core.Base, splittingTool: core.Base, isSplittingToolExtended: bool) -> SplitBodyFeatureInput: + """ + Creates a SplitBodyFeatureInput object. Use properties and methods on this object + to define the split body you want to create and then use the Add method, passing in + the SplitBodyFeatureInput object. + splitBodies : Input solid body or open bodies to be split. This can be a single BRepBody or an ObjectCollection if multiple + bodies are to be split. + splittingTool : Input entity that defines the splitting tool. The splitting tool is a single entity that can be either a solid or open BRepBody, + construction plane, profile, or a face. + isSplittingToolExtended : A boolean value for setting whether or not the splitting tool is to be automatically extended (if possible) so as to + completely intersect the bodyToSplit. + Returns the newly created SplitBodyFeatureInput object or null if the creation failed. + """ + return SplitBodyFeatureInput() + def add(self, input: SplitBodyFeatureInput) -> SplitBodyFeature: + """ + Creates a new split body feature. + input : A SplitBodyFeatureInput object that defines the desired split body feature. Use the createInput + method to create a new SplitBodyFeatureInput object and then use methods on it + (the SplitBodyFeatureInput object) to define the split body. + Returns the newly created SplitBodyFeature object or null if the creation failed. + """ + return SplitBodyFeature() + def itemByName(self, name: str) -> SplitBodyFeature: + """ + Function that returns the specified split body 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 SplitBodyFeature() + @property + def count(self) -> int: + """ + The number of split body features in the collection. + """ + return int() + +class SplitFaceFeatureInput(core.Base): + """ + This class defines the methods and properties that pertain to the definition of a split face feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SplitFaceFeatureInput: + return SplitFaceFeatureInput() + def setAlongVectorSplitType(self, directionEntity: core.Base) -> bool: + """ + Sets the split type to project the splitting tool along the direction defined by the + specified entity. + directionEntity : An entity that defines the direction of projection of the splitting tool. This can be + a linear BRepEdge, SketchLine, ConstructionLine, or a planar face where the face + normal is used. + Returns true is setting the split type was successful. + """ + return bool() + def setClosestPointSplitType(self) -> bool: + """ + Sets the split type to be a curve that defined by projecting the splitting curve to the + closest point on the surface. + Returns true is setting the split type was successful. + """ + return bool() + def setSurfaceIntersectionSplitType(self, isSplittingToolExtended: bool) -> bool: + """ + Set the split type to be a surface to surface intersection. If the split tool is a curve + it will be extruded into a surface to use in the split. If it's a surface, the surface will + be used and optionally extended to fully intersect the faces to be split. + isSplittingToolExtended : Specifies if the splitting tool should be extended so that is fully intersects the faces to be split. + Returns true is setting the split type was successful. + """ + return bool() + @property + def facesToSplit(self) -> core.ObjectCollection: + """ + Gets and sets the faces to be split. + The collection can contain one or more faces selected from solid and/or open bodies. + """ + return core.ObjectCollection() + @facesToSplit.setter + def facesToSplit(self, value: core.ObjectCollection): + """ + Gets and sets the faces to be split. + The collection can contain one or more faces selected from solid and/or open bodies. + """ + pass + @property + def splittingTool(self) -> core.Base: + """ + Gets and sets the entity(s) that define the splitting tool(s). The splitting tool can be a single entity or an + ObjectCollection containing solid and/or open bodies, construction planes, faces, or sketch curves that partially + or fully intersect the faces that are being split. + """ + return core.Base() + @splittingTool.setter + def splittingTool(self, value: core.Base): + """ + Gets and sets the entity(s) that define the splitting tool(s). The splitting tool can be a single entity or an + ObjectCollection containing solid and/or open bodies, construction planes, faces, or sketch curves that partially + or fully intersect the faces that are being split. + """ + pass + @property + def isSplittingToolExtended(self) -> bool: + """ + Gets and sets whether or not the splittingTool is to be automatically extended (if possible) so as to + completely intersect the facesToSplit. + """ + return bool() + @isSplittingToolExtended.setter + def isSplittingToolExtended(self, value: bool): + """ + Gets and sets whether or not the splittingTool is to be automatically extended (if possible) so as to + completely intersect the facesToSplit. + """ + 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 splitType(self) -> SplitFaceSplitTypes: + """ + Returns the type of split type currently defined. + """ + return SplitFaceSplitTypes() + +class SplitFaceFeatures(core.Base): + """ + Collection that provides access to all of the existing split face features in a component + and supports the ability to create new split face features. + """ + def __init__(self): + pass + @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. + 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 SplitFaceFeature() + def createInput(self, facesToSplit: core.ObjectCollection, splittingTool: core.Base, isSplittingToolExtended: bool) -> SplitFaceFeatureInput: + """ + Creates a SplitFaceFeatureInput object. Use properties and methods on this object + to define the split face you want to create and then use the Add method, passing in + the SplitFaceFeatureInput object. + + A newly created SplitFaceFeatureInput object defaults to creating a split face feature + using the "Split with Surface" option. You can use functions on the SplitFaceFeatureInput + object to define a different type of split type. + facesToSplit : Input the faces to be split. The collection can contain one or more faces from solid and/or open bodies. + splittingTool : Input entity(s) that defines the splitting tool. The splitting tool can be a single entity or an ObjectCollection + containing solid and/or open bodies, construction planes, faces, or sketch curves that partially or fully intersect + the faces that are being split. + isSplittingToolExtended : A boolean value for setting whether or not the splittingTool is to be automatically extended (if possible) so as to + completely intersect the faces that are to be split. This is only used when the split type is "split with surface" + which is the default type when a new createInput is created. Use functions on the returned SplitFaceFeatureInput + to define a different type of split type. + Returns the newly created SplitFaceFeatureInput object or null if the creation failed. + """ + return SplitFaceFeatureInput() + def add(self, input: SplitFaceFeatureInput) -> SplitFaceFeature: + """ + Creates a new split face feature. + input : A SplitFaceFeatureInput object that defines the desired split face feature. Use the createInput + method to create a new SplitFaceFeatureInput object and then use methods on it + (the SplitFaceFeatureInput object) to define the split face. + Returns the newly created SplitFaceFeature object or null if the creation failed. + """ + return SplitFaceFeature() + def itemByName(self, name: str) -> SplitFaceFeature: + """ + Function that returns the specified split face 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 SplitFaceFeature() + @property + def count(self) -> int: + """ + The number of split face features in the collection. + """ + return int() + +class SpunProfileInput(core.Base): + """ + The input object that defines the required input to create a spun profile when using the + Sketch.createSpunProfile method. Created using the Sketch.createSpunProfileInput method. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SpunProfileInput: + return SpunProfileInput() + @property + def entities(self) -> list[core.Base]: + """ + Gets and sets the entities (BRepBody or BRepFace) used to define the shape of the spun profile. + """ + return [core.Base()] + @entities.setter + def entities(self, value: list[core.Base]): + """ + Gets and sets the entities (BRepBody or BRepFace) used to define the shape of the spun profile. + """ + pass + @property + def axis(self) -> core.Base: + """ + Gets and sets the entity used to define the axis of revolution. + The axis can be a sketch line, construction axis, or linear edge. + The axis must not be perpendicular to the sketch plane. + """ + return core.Base() + @axis.setter + def axis(self, value: core.Base): + """ + Gets and sets the entity used to define the axis of revolution. + The axis can be a sketch line, construction axis, or linear edge. + The axis must not be perpendicular to the sketch plane. + """ + pass + @property + def isAxisProjected(self) -> bool: + """ + Specifies if the axis will be projected to the sketch plane before making the spun profile. + Otherwise, the spun profile will be generated around the axis in space. Defaults to true. + """ + return bool() + @isAxisProjected.setter + def isAxisProjected(self, value: bool): + """ + Specifies if the axis will be projected to the sketch plane before making the spun profile. + Otherwise, the spun profile will be generated around the axis in space. Defaults to true. + """ + pass + @property + def tolerance(self) -> float: + """ + Gets and sets the linear tolerance in cm used for creating the spun profile. Defaults to 0.001cm. + """ + return float() + @tolerance.setter + def tolerance(self, value: float): + """ + Gets and sets the linear tolerance in cm used for creating the spun profile. Defaults to 0.001cm. + """ + pass + @property + def flipResult(self) -> bool: + """ + Gets and sets whether the profile will be created on the opposite side of the axis. + """ + return bool() + @flipResult.setter + def flipResult(self, value: bool): + """ + Gets and sets whether the profile will be created on the opposite side of the axis. + """ + pass + @property + def isCenterlineAdded(self) -> bool: + """ + Gets and sets whether a resulting spun profile that would be open, will be closed along the axis of rotation. + This closes the sketch so it is ready for further design operations, like revolving the sketch for example. + Defaults to true. + """ + return bool() + @isCenterlineAdded.setter + def isCenterlineAdded(self, value: bool): + """ + Gets and sets whether a resulting spun profile that would be open, will be closed along the axis of rotation. + This closes the sketch so it is ready for further design operations, like revolving the sketch for example. + Defaults to true. + """ + pass + +class StitchFeatureInput(core.Base): + """ + This class defines the methods and properties that pertain to the definition of a stitch feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> StitchFeatureInput: + return StitchFeatureInput() + @property + def stitchSurfaces(self) -> core.ObjectCollection: + """ + Gets and sets the surfaces to stitch together. + """ + return core.ObjectCollection() + @stitchSurfaces.setter + def stitchSurfaces(self, value: core.ObjectCollection): + """ + Gets and sets the surfaces to stitch together. + """ + pass + @property + def tolerance(self) -> core.ValueInput: + """ + Gets and sets the ValueInput object that defines the stitching tolerance. It must define a length. + """ + return core.ValueInput() + @tolerance.setter + def tolerance(self, value: core.ValueInput): + """ + Gets and sets the ValueInput object that defines the stitching tolerance. It must define a length. + """ + pass + @property + def operation(self) -> FeatureOperations: + """ + Gets and sets the feature operation to perform. This property value is only valid if the isSolid property returns + true. Otherwise the value of this property is ignored. + """ + return FeatureOperations() + @operation.setter + def operation(self, value: FeatureOperations): + """ + Gets and sets the feature operation to perform. This property value is only valid if the isSolid property returns + true. Otherwise the value of this property is ignored. + """ + 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 StitchFeatures(core.Base): + """ + Collection that provides access to all of the existing Stitch features in a component + and supports the ability to create new Stitch features. + """ + def __init__(self): + pass + @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. + 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 StitchFeature() + 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 + the StitchFeatureInput object. + stitchSurfaces : The surfaces (open BRepBodies) to stitch together. + Stitching surfaces can form multiple closed volumes resulting in multiple solids. + Stitch Surfaces can form multiple BRepShells (entirely connected set of entities) that would result in a + single non-solid BRepBody. + tolerance : ValueInput object that defines the stitching tolerance. It must define a distance value. + operation : Specifies the operation type for the result when the final result is a closed solid. Otherwise + this argument is ignored. + Returns the newly created StitchFeatureInput object or null if the creation failed. + """ + return StitchFeatureInput() + def add(self, input: StitchFeatureInput) -> StitchFeature: + """ + Creates a new stitch feature. + input : A StitchFeatureInput object that defines the desired stitch feature. Use the createInput + method to create a new StitchFeatureInput object and then use methods on it + (the StitchFeatureInput object) to define the stitch feature. + Returns the newly created StitchFeature object or null if the creation failed. + """ + return StitchFeature() + def itemByName(self, name: str) -> StitchFeature: + """ + Function that returns the specified stitch 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 StitchFeature() + @property + def count(self) -> int: + """ + The number of Stitch features in the collection. + """ + return int() + +class SurfaceDeleteFaceFeatures(core.Base): + """ + Collection that provides access to all of the existing SurfaceDeleteFaceFeature features in a component + and supports the ability to create new SurfaceDeleteFaceFeature features. + + The SurfaceDeleteFaceFeature and DeleteFaceFeature differ in that the SurfaceDeleteFaceFeature + can delete any face without any restrictions. If the body is a solid, it will become a surface + when the first face is deleted. The specified face is deleted without any other changes being + made to the body. The DeleteFaceFeature deletes the specified face and also modifies the other faces + in the body to heal or fill in the area of the deleted face. This means that a solid body will + remain solid. + """ + def __init__(self): + pass + @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. + 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 SurfaceDeleteFaceFeature() + def itemByName(self, name: str) -> SurfaceDeleteFaceFeature: + """ + Function that returns the specified SurfaceDeleteFaceFeature object 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 SurfaceDeleteFaceFeature() + def add(self, facesToDelete: core.Base) -> SurfaceDeleteFaceFeature: + """ + Creates a new SurfaceDeleteFaceFeature feature. This deletes the specified faces + from their bodies without any attempt to heal the openings. This is equivalent + to selecting and deleting faces when in the Patch workspace. + facesToDelete : A single BRepFace or an ObjectCollection containing multiple BRepFace objects. + Returns the newly created SurfaceDeleteFaceFeature object or null if the creation failed. + """ + return SurfaceDeleteFaceFeature() + @property + def count(self) -> int: + """ + The number of SurfaceDeleteFaceFeature objects in the collection. + """ + return int() + +class SweepFeatureInput(core.Base): + """ + This class defines the methods and properties that pertain to the definition of a sweep + feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SweepFeatureInput: + return SweepFeatureInput() + @property + def profile(self) -> core.Base: + """ + Gets and sets the profiles or planar faces used to define the shape of the sweep. + This property can return or be set with a single Profile, a single planar face, or + an ObjectCollection consisting of multiple profiles and planar faces. When an + ObjectCollection is used all of the profiles and faces must be co-planar. + """ + return core.Base() + @profile.setter + def profile(self, value: core.Base): + """ + Gets and sets the profiles or planar faces used to define the shape of the sweep. + This property can return or be set with a single Profile, a single planar face, or + an ObjectCollection consisting of multiple profiles and planar faces. When an + ObjectCollection is used all of the profiles and faces must be co-planar. + """ + pass + @property + def operation(self) -> FeatureOperations: + """ + Gets and sets the type of operation performed by the sweep. + """ + return FeatureOperations() + @operation.setter + def operation(self, value: FeatureOperations): + """ + Gets and sets the type of operation performed by the sweep. + """ + pass + @property + def path(self) -> Path: + """ + Gets and sets the path to create the sweep. + """ + return Path() + @path.setter + def path(self, value: Path): + """ + Gets and sets the path to create the sweep. + """ + pass + @property + def distanceOne(self) -> core.ValueInput: + """ + Gets and sets the distance for the first side. + The distance is a value from 0 to 1 indicating the position along the path where 0 + is at the start and 1 is at the end. The value is default to 1.0. + """ + return core.ValueInput() + @distanceOne.setter + def distanceOne(self, value: core.ValueInput): + """ + Gets and sets the distance for the first side. + The distance is a value from 0 to 1 indicating the position along the path where 0 + is at the start and 1 is at the end. The value is default to 1.0. + """ + pass + @property + def distanceTwo(self) -> core.ValueInput: + """ + Gets and sets the distance for the second side. + The distance is a value from 0 to 1 indicating the position along the path where 0 + is at the start and 1 is at the end. The value defaults to 0 in the case where the path is closed, otherwise it defaults to 1.0. + It is ignored if the path is only on one side of the profile or if the sweep definition includes a guide rail. + It's always the distance against the normal of the profile if available. + """ + return core.ValueInput() + @distanceTwo.setter + def distanceTwo(self, value: core.ValueInput): + """ + Gets and sets the distance for the second side. + The distance is a value from 0 to 1 indicating the position along the path where 0 + is at the start and 1 is at the end. The value defaults to 0 in the case where the path is closed, otherwise it defaults to 1.0. + It is ignored if the path is only on one side of the profile or if the sweep definition includes a guide rail. + It's always the distance against the normal of the profile if available. + """ + pass + @property + def orientation(self) -> SweepOrientationTypes: + """ + Gets and sets the sweep orientation. It defaults to PerpendicularOrientationType. + This property is ignored when sweeping a solid or a guide rail or surface has been specified. + """ + return SweepOrientationTypes() + @orientation.setter + def orientation(self, value: SweepOrientationTypes): + """ + Gets and sets the sweep orientation. It defaults to PerpendicularOrientationType. + This property is ignored when sweeping a solid or a guide rail or surface has been specified. + """ + pass + @property + def creationOccurrence(self) -> Occurrence: + """ + In order for geometry to be transformed correctly, an Occurrence for creation needs to be + specified when the sweep is created based on geometry (e.g. a profile and/or face(s)) + in another component AND (the sweep) 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 sweep is created based on geometry (e.g. a profile and/or face(s)) + in another component AND (the sweep) is not in the root component. + The CreationOccurrence is analogous to the active occurrence in the UI + """ + pass + @property + def isSolid(self) -> bool: + """ + Specifies if the sweep should be created as a solid or surface. If + it's a surface then there aren't any end caps and it's open. This is + initialized to true so a solid will be created if it's not changed. + """ + return bool() + @isSolid.setter + def isSolid(self, value: bool): + """ + Specifies if the sweep should be created as a solid or surface. If + it's a surface then there aren't any end caps and it's open. This is + initialized to true so a solid will be created if it's not changed. + """ + pass + @property + def guideRail(self) -> Path: + """ + Gets and sets the guide rail to create the sweep. This can be set to + null to remove the guide rail definition and have a single path sweep feature. + """ + return Path() + @guideRail.setter + def guideRail(self, value: Path): + """ + Gets and sets the guide rail to create the sweep. This can be set to + null to remove the guide rail definition and have a single path sweep feature. + """ + pass + @property + def isDirectionFlipped(self) -> bool: + """ + Gets and sets if the direction of the sweep is flipped. + This property only applies to sweep features that include a guide rail and whose path runs on both + sides of the profile. + """ + return bool() + @isDirectionFlipped.setter + def isDirectionFlipped(self, value: bool): + """ + Gets and sets if the direction of the sweep is flipped. + This property only applies to sweep features that include a guide rail and whose path runs on both + sides of the profile. + """ + pass + @property + def profileScaling(self) -> SweepProfileScalingOptions: + """ + Gets and sets the sweep profile scaling option. It defaults to SweepProfileScaleOption. + This property is only used when a guide rail has been specified. + """ + return SweepProfileScalingOptions() + @profileScaling.setter + def profileScaling(self, value: SweepProfileScalingOptions): + """ + Gets and sets the sweep profile scaling option. It defaults to SweepProfileScaleOption. + This property is only used when a guide rail has been specified. + """ + 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 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 + @property + def taperAngle(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 ignored if sweeping a solid or a guide rail or surface has been specified. + 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 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 ignored if sweeping a solid or a guide rail or surface has been specified. + This property is valid for both parametric and non-parametric extrusions. + """ + pass + @property + def twistAngle(self) -> core.ValueInput: + """ + Gets and sets the twist angle of the sweep. This property is initialized with a twist angle of zero. + When sweeping a solid setting the twist angle requires the solid twist axis to be set. + + This property is ignored if a guide rail or surface has been specified. + 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 twist angle of the sweep. This property is initialized with a twist angle of zero. + When sweeping a solid setting the twist angle requires the solid twist axis to be set. + + This property is ignored if a guide rail or surface has been specified. + This property is valid for both parametric and non-parametric extrusions. + """ + pass + @property + def extent(self) -> SweepExtentTypes: + """ + Gets and sets the sweep extent type. It defaults to PerpendicularToPathExtentType. + This property is ignored when a guide rail has not been specified. + """ + return SweepExtentTypes() + @extent.setter + def extent(self, value: SweepExtentTypes): + """ + Gets and sets the sweep extent type. It defaults to PerpendicularToPathExtentType. + This property is ignored when a guide rail has not been specified. + """ + pass + @property + def guideSurfaces(self) -> list[BRepFace]: + """ + Gets and sets the guide surfaces to create the sweep. This can be set to + an empty array to remove the guide surfaces and have a single path sweep feature. + By default connected faces that are tangent to any of the guide faces are set as guide faces. + Use the isChainSelection property to disable the use of tangent faces. + """ + return [BRepFace()] + @guideSurfaces.setter + def guideSurfaces(self, value: list[BRepFace]): + """ + Gets and sets the guide surfaces to create the sweep. This can be set to + an empty array to remove the guide surfaces and have a single path sweep feature. + By default connected faces that are tangent to any of the guide faces are set as guide faces. + Use the isChainSelection property to disable the use of tangent faces. + """ + pass + @property + def isChainSelection(self) -> bool: + """ + Get and sets whether faces that are tangentially connected to the guide surfaces are also made guide surfaces. + """ + return bool() + @isChainSelection.setter + def isChainSelection(self, value: bool): + """ + Get and sets whether faces that are tangentially connected to the guide surfaces are also made guide surfaces. + """ + pass + @property + def solidBody(self) -> BRepBody: + """ + Gets and sets the BRepBody object to sweep. It must be a solid body. + Setting this property results in the type being a single path sweep, and + if the profile, guide path, or surface are set, they are set to null. + """ + return BRepBody() + @solidBody.setter + def solidBody(self, value: BRepBody): + """ + Gets and sets the BRepBody object to sweep. It must be a solid body. + Setting this property results in the type being a single path sweep, and + if the profile, guide path, or surface are set, they are set to null. + """ + pass + @property + def solidOrientation(self) -> SweepSolidOrientationTypes: + """ + Gets and sets the solid sweep orientation. It defaults to PerpendicularSolidOrientationType. + Setting the solid orientation to AlignedSolidOrientationType requires the solid aligned axis to be set. + This property is ignored if sweeping a profile. + """ + return SweepSolidOrientationTypes() + @solidOrientation.setter + def solidOrientation(self, value: SweepSolidOrientationTypes): + """ + Gets and sets the solid sweep orientation. It defaults to PerpendicularSolidOrientationType. + Setting the solid orientation to AlignedSolidOrientationType requires the solid aligned axis to be set. + This property is ignored if sweeping a profile. + """ + pass + @property + def solidAlignedAxis(self) -> core.Base: + """ + Gets and sets the axis to align the solid being swept with. The axis is used when sweeping a solid, + and the solid orientation is set to AlignedSolidOrientationType. It can be a sketch line, linear edge, + or construction axis. + """ + return core.Base() + @solidAlignedAxis.setter + def solidAlignedAxis(self, value: core.Base): + """ + Gets and sets the axis to align the solid being swept with. The axis is used when sweeping a solid, + and the solid orientation is set to AlignedSolidOrientationType. It can be a sketch line, linear edge, + or construction axis. + """ + pass + @property + def solidTwistAxis(self) -> core.Base: + """ + Gets and sets the twist axis of the solid being swept. The axis is used when sweeping a solid, + and the twist angle is set. It can be a sketch line, linear edge, construction axis, or a face + that defines an axis (cylinder, cone, torus, etc.). + """ + return core.Base() + @solidTwistAxis.setter + def solidTwistAxis(self, value: core.Base): + """ + Gets and sets the twist axis of the solid being swept. The axis is used when sweeping a solid, + and the twist angle is set. It can be a sketch line, linear edge, construction axis, or a face + that defines an axis (cylinder, cone, torus, etc.). + """ + pass + +class SweepFeatures(core.Base): + """ + Collection that provides access to all of the existing sweep features in a component + and supports the ability to create new sweep features. + """ + def __init__(self): + pass + @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. + 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 SweepFeature() + def createInput(self, profile: core.Base, path: Path, operation: FeatureOperations) -> SweepFeatureInput: + """ + Creates a SweepFeatureInput object for defining a simple sweep feature with only a path and no guide rail or surface. + Use properties and methods on this object to define the sweep you want to create and then use the Add method, + passing in the SweepFeatureInput object. + profile : The profile argument can be a single Profile, a single + planar face, or an ObjectCollection consisting of multiple profiles and planar faces. + When an ObjectCollection is used all of the profiles and faces must be co-planar. + path : The path to create the sweep. + operation : The feature operation to perform + Returns the newly created SweepFeatureInput object or null if the creation failed. + """ + return SweepFeatureInput() + def add(self, input: SweepFeatureInput) -> SweepFeature: + """ + Creates a new sweep feature. + input : A SweepFeatureInput object that defines the desired sweep. Use the createInput + method to create a new SweepFeatureInput object and then use methods on it + (the SweepFeatureInput object) to define the sweep. + Returns the newly created SweepFeature object or null if the creation failed. + """ + return SweepFeature() + def itemByName(self, name: str) -> SweepFeature: + """ + Function that returns the specified sweep 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 SweepFeature() + def createInputForSolid(self, solidBody: BRepBody, path: Path, operation: FeatureOperations) -> SweepFeatureInput: + """ + Creates a SweepFeatureInput object for defining a simple sweep feature from a B-Rep + solid with a path. Use properties and methods on this object to define the sweep you + want to create, and then use the Add method, passing in the SweepFeatureInput object. + solidBody : The BRepBody object to sweep. It must be a solid body. + path : The Path object that defines the path the body will be swept along. + operation : The type of feature operation to perform. + Returns the newly created SweepFeatureInput object or null if the creation fails. + """ + return SweepFeatureInput() + @property + def count(self) -> int: + """ + The number of sweep features in the collection. + """ + 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 + the context of a document. The provides direct access to the modeling core without the + overhead of parametrics, persistence, transactions, or graphics. It also provides a way + of directly defining and creating B-Rep data. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> TemporaryBRepManager: + return TemporaryBRepManager() + @staticmethod + def get() -> TemporaryBRepManager: + """ + Gets the TempoaryBRepManager object. This object provides access to functionality to + create an manipulate temporary B-Rep data outside the context of a document. + Returns the TemporaryBRepManager object. + """ + return TemporaryBRepManager() + def copy(self, bRepEntity: core.Base) -> BRepBody: + """ + Creates a temporary copy of the input BRepBody, BRepFace, or BRepEdge object. + bRepEntity : The BRepBody, BRepFace, BRepLoop, or BRepEdge to create a copy of. This can be a parametric + B-Rep entity or a temporary B-Rep entity. + Returns a BRepBody that contains the result. If a BRepBody is input the copy is + of the entire body. If a BRepFace is input, then the result is a BRepBody that + contains a single face. If a BRepLoop is input then the result is a BRepBody that + contains a wire where each edge in the loop will have a corresponding edge in the wire. + If a BRepEdge is input then the result is a BRepBody that contains a wire that contains + the single edge. + """ + return BRepBody() + def planeIntersection(self, body: BRepBody, plane: core.Plane) -> BRepBody: + """ + Calculates the intersection between the input body and plane and creates a + wire body that represents the intersection curves. + body : The BRepBody to intersection. + plane : The geometry Plane to intersect with the body. + Returns a BRepBody that contains a wire body that represents the intersection. + """ + return BRepBody() + def createRuledSurface(self, sectionOne: BRepWire, sectionTwo: BRepWire) -> BRepBody: + """ + Creates a new body by creating a ruled surface between the two input wire bodies. + sectionOne : BRepWire that defines the shape of the first section. + sectionTwo : BRepWire that defines the shape of the second section. + Returns the created ruled surface as a BRepBody object. + """ + return BRepBody() + def createSilhouetteCurves(self, face: BRepFace, viewDirection: core.Vector3D, returnCoincidentSilhouettes: bool) -> BRepBody: + """ + Calculates the silhouette curve geometry for a given face as viewed from a given direction. + face : Input BRepFace object to calculate the silhouette curve for. + viewDirection : Input Vector3D object that defines the view direction to calculate the silhouette curve relative to. + The silhouette curve(s) will lie along the path where the face normal is perpendicular to the view direction. + returnCoincidentSilhouettes : Input Boolean that specifies if silhouette curves that are coincident to the edges of the face should be + returned or not. If true, these curves will be returned. + Returns a SurfaceBody object that will contain one or more BRepWire objects that represent the silhouette curve(s). + This method can return null in the case where there is not a silhouette curve for the specified face. + """ + return BRepBody() + def deleteFaces(self, faces: list[BRepFace], deleteSpecifiedFaces: bool) -> bool: + """ + Deletes one or more faces from a temporary BRepBody. The body that will be modified is determined + by getting the parent body of the input faces. + faces : An array of BRepFace objects to delete. If more than one face is provided, + all of the faces must exist within the same body. + deleteSpecifiedFaces : This allows you to either delete the faces that were input or to keep those faces and delete all the + other faces in the body. + Returns true if the operation was successful. + """ + return bool() + def booleanOperation(self, targetBody: BRepBody, toolBody: BRepBody, booleanType: BooleanTypes) -> bool: + """ + Performs the specified Boolean operation between the two input bodies. The input bodies need + not be solid but can be faces that are combined or trimmed. + targetBody : The target body that will be modified as a result of the Boolean operation. + toolBody : The tool body that will be used to operate on the target body. + booleanType : The type of Boolean operation to perform. + Returns true if the operation was successful. If successful, the target body is modified as a result of the + Boolean operation. Because of this the targetBody must always be a temporary BRepBody. The tool body is not + modified. This is analogous to a machining operation where you have the target that is being machined and + the tool that removes material. + """ + return bool() + def transform(self, body: BRepBody, transform: core.Matrix3D) -> bool: + """ + Transforms the input body using the specified transformation matrix. + body : The BRepBody object to transform. + transform : The transformation matrix that defines the transform to apply to the body. + Returns true if the specified transform was successfully applied to the body. + """ + return bool() + def createFromFile(self, filename: str) -> BRepBodies: + """ + Creates new BRepBody objects based on the contents of the specified file. + filename : The full path and name of the file to read in. This can be a SMT, SMB, SAT, or SAB file. + A BRepBodies collection object is returned which can contain multiple BRepBody objects. + null is returned in the case where it was unable to read the file. + """ + return BRepBodies() + def exportToFile(self, bodies: list[BRepBody], filename: str) -> bool: + """ + Exports the input bodies to the specified file. + bodies : An array of BRepBody objects that you want to export. + filename : The filename to write the BRepBody objects to. The type of file to create + is inferred from the extension of the file. The valid extensions are ".sat" and ".smt". + Returns true if the export was successful. + """ + return bool() + def createBox(self, box: core.OrientedBoundingBox3D) -> BRepBody: + """ + Creates a new temporary solid box BRepBody object. + box : The OrientedBoundingBox3D object that defines the position, orientation, and + size of the box to crate. + Returns the newly created temporary BRepBody object or null in the case of failure. + """ + return BRepBody() + def createCylinderOrCone(self, pointOne: core.Point3D, pointOneRadius: float, pointTwo: core.Point3D, pointTwoRadius: float) -> BRepBody: + """ + Creates a temporary solid cylinder or cone BRepBody object. + pointOne : A point at one end of the cylinder or cone. + pointOneRadius : The radius of the cylinder or cone at the point one end, in centimeters. + pointTwo : A point at the opposite end of the cylinder or cone. + pointTwoRadius : The radius of the cylinder or cone at the point two end, in centimeters. + For a cylinder the pointTwoRadius should be equal to the pointOneRadius. + Returns the newly created temporary BRepBody object or null in the case of failure. + """ + return BRepBody() + def createEllipticalCylinderOrCone(self, pointOne: core.Point3D, pointOneMajorRadius: float, pointOneMinorRadius: float, pointTwo: core.Point3D, pointTwoMajorRadius: float, majorAxisDirection: core.Vector3D) -> BRepBody: + """ + Creates a temporary elliptical solid cylinder or cone BrepBody object. + pointOne : A point at one end of the cylinder or cone. + pointOneMajorRadius : The major radius of the cylinder or cone at the point one end, in centimeters. + pointOneMinorRadius : The minor radius of the cylinder or cone at the point one end, in centimeters. + pointTwo : A point at the opposite end of the cone. + pointTwoMajorRadius : The major radius of the cylinder or cone at the point two end, in centimeters. The + minor radius is automatically determined using the point one ratio of the minor and major + radii. + majorAxisDirection : A Vector3D object that defines the direction of the major axis. + Returns the newly created temporary BRepBody object or null in the case of failure. + """ + return BRepBody() + def createSphere(self, center: core.Point3D, radius: float) -> BRepBody: + """ + Creates a temporary spherical BRepBody object. + center : The center point of the sphere. + radius : The radius of the sphere in centimeters. + Returns the newly created temporary BRepBody object or null in the case of failure. + """ + return BRepBody() + def createTorus(self, center: core.Point3D, axis: core.Vector3D, majorRadius: float, minorRadius: float) -> BRepBody: + """ + Creates a temporary toroidal BRepBody object. + center : The center point of the torus. + axis : The axis of the torus. + majorRadius : The radius, in centimeters, of the major radius of the torus. If the torus was created + by sweeping a circle around another circle this would be the radius of the path circle. + minorRadius : The radius, in centimeters, of the minor radius of the torus. If the torus was created + by sweeping a circle around another circle this would be the radius of the profile circle. + Returns the newly created temporary BRepBody object or null in the case of failure. + """ + return BRepBody() + def createFaceFromPlanarWires(self, wireBodies: list[BRepBody]) -> BRepBody: + """ + Creates a body from multiple wires that all lie within the same plane. Multiple wires are + used when creating a plane with interior holes. One wire defines the outer shape and the + other wires define the interior loops of the created face. + wireBodies : An array of bodies that contain planar wires. Each wire must be closed, they should not overlap, + and they should all lie on the same plane. + 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 = 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 + are split at the edges of the overlaps. This does not modify the original bodies but creates new + 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 + 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. +

+ + 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 + collection returned here and that returned by the bodyTwoOverlappingFaces are overlapping. + bodyTwoOverlappingFaces : Output array of BRepFace objects that represent the overlapping faces that are part of resultBodyTwo. Faces at the same index within the + collection returned here and that returned by the bodyOneOverlappingFaces are overlapping. + bodyOneOverlappingEdges : Output array of BRepEdge objects that represent the overlapping edges that are part of resultBodyOne. Edges at the same index within the + collection returned here and that returned by the bodyTwoOverlappingEdges are overlapping. + bodyTwoOverlappingEdges : Output array of BRepEdge objects that represent the overlapping edges that are part of resultBodyTwo. Edges at the same index within the + collection returned here and that returned by the bodyOneOverlappingEdges are overlapping. + tolerance : Optional Input double that specifies the tolerance, in centimeters, to use when comparing the bodies. If not specified, or a value of zero + is specified, the internal modeling tolerance will be used. + 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 = 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. + edgeMap : An array of edges in the returned body. The order that the edges are in this collection is the + same order as the original corresponding Curve3D object is in the input curves array. This allows you to + map between the original input curve and created edge. + allowSelfIntersections : Specifies if you want to allow self-intersection in the input curves or not. + Returns the B-Rep body containing the created wire or null in the case of failure. + """ + return (BRepBody(), [BRepEdge()]) + def createHelixWire(self, axisPoint: core.Point3D, axisVector: core.Vector3D, startPoint: core.Point3D, pitch: float, turns: float, taperAngle: float) -> BRepBody: + """ + Creates a B-Rep body that contains a wire with a single edge that represents a helical curve. + axisPoint : A Point3D object that defines a point along the axis of the helix. + axisVector : A Vector3D object that defines the direction of the axis of the helix. + startPoint : A Point3D that defines the start point of the helix. This is a point on the helix and defines the starting + point of the helix. The distance of this point to the axis defines the starting radius of the helix. + pitch : The pitch of the helix, or the distance between each of the turns, in centimeters. + turns : The number of turns of the helix. + taperAngle : The taper angle of the helix in radians. + Returns a temporary BRepBody object that contains a wire body that is the shape of the + specified helix. Return null if the creation failed. + """ + return BRepBody() + def createProjectedBodyOutline(self, body: BRepBody, projectionPlane: core.Plane, tolerance: float) -> tuple[BRepBody, bool]: + """ + Computes the approximate outline of a body. The outline is the loops formed from projecting the non-occluded + silhouette curves of the body onto a plane. The outline is returned as a temporary BRepBody consisting of + planar BRepFace objects whose boundaries form the outline. + + The computed outline can be an approximation i.e. not precise. This is to make it useful in cases where robustness + is more important than precision. For most cases, a precise analytical result is computed, but in some cases, + the silhouette of a curved surface may be approximated by a series of straight lines. Even though it's an + approximation you can control the tolerance of the approximation. A tighter tolerance will result in a longer compute time. + body : Input BRepBody object to calculate the projected outline for. + projectionPlane : Input Plane object that defines the position and orientation of the plane to project the body onto. The resulting body will lie on this plane. + tolerance : Input value that specifies the tolerance in centimeters to use when approximating smooth surfaces with line segments. A negative tolerance + uses the default value which is 0.001 times the length of the diagonal of the bounding box of the input body. A positive tolerance must be + greater than the point tolerance (0.000001). + containsApproximation : Output value that indicates if the result contains any silhouette curves that are an approximation of the true silhouette. + Returns a BRepBody object consisting of planar BRepFace objects whose boundaries define the body's outline. + """ + return (BRepBody(), bool()) + +class TessellateFeatureInput(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 tessellate + feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> TessellateFeatureInput: + return TessellateFeatureInput() + @property + def inputBodies(self) -> list[BRepBody]: + """ + Gets and sets the input list of BReb bodies. + """ + return [BRepBody()] + @inputBodies.setter + def inputBodies(self, value: list[BRepBody]): + """ + Gets and sets the input list of BReb bodies. + """ + pass + @property + def tessellateRefinementType(self) -> TessellateRefinementTypes: + """ + Gets and sets the type of refinement, default value is MediumTessellateRefinementType. + """ + return TessellateRefinementTypes() + @tessellateRefinementType.setter + def tessellateRefinementType(self, value: TessellateRefinementTypes): + """ + Gets and sets the type of refinement, default value is MediumTessellateRefinementType. + """ + pass + @property + def surfaceDeviation(self) -> core.ValueInput: + """ + Specify maximum distance between the surface of the original + body and the surface of the mesh body. + Only valid if tessellateRefinementType is CustomTessellateRefinementType. + """ + return core.ValueInput() + @surfaceDeviation.setter + def surfaceDeviation(self, value: core.ValueInput): + """ + Specify maximum distance between the surface of the original + body and the surface of the mesh body. + Only valid if tessellateRefinementType is CustomTessellateRefinementType. + """ + pass + @property + def normalDeviation(self) -> core.ValueInput: + """ + Specify maximum angle between the normal vectors of each face on the mesh body. + Only valid if tessellateRefinementType is CustomTessellateRefinementType. + """ + return core.ValueInput() + @normalDeviation.setter + def normalDeviation(self, value: core.ValueInput): + """ + Specify maximum angle between the normal vectors of each face on the mesh body. + Only valid if tessellateRefinementType is CustomTessellateRefinementType. + """ + pass + @property + def maximumEdgeLength(self) -> core.ValueInput: + """ + Specify maximum length of any face edge on the mesh body. + Only valid if tessellateRefinementType is CustomTessellateRefinementType. + """ + return core.ValueInput() + @maximumEdgeLength.setter + def maximumEdgeLength(self, value: core.ValueInput): + """ + Specify maximum length of any face edge on the mesh body. + Only valid if tessellateRefinementType is CustomTessellateRefinementType. + """ + pass + @property + def aspectRatio(self) -> core.ValueInput: + """ + Specify ratio between the height and width of each face on the mesh body. + Only valid if tessellateRefinementType is CustomTessellateRefinementType. + """ + return core.ValueInput() + @aspectRatio.setter + def aspectRatio(self, value: core.ValueInput): + """ + Specify ratio between the height and width of each face on the mesh body. + Only valid if tessellateRefinementType is CustomTessellateRefinementType. + """ + pass + @property + def createQuads(self) -> bool: + """ + Creates quad faces on the mesh body where possible. + """ + return bool() + @createQuads.setter + def createQuads(self, value: bool): + """ + Creates quad faces on the mesh body where possible. + """ + 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 TessellateFeatures(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 tessellate features in a component + and supports the ability to create new tessellate features. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> TessellateFeatures: + return TessellateFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> TessellateFeature: + return None + def __iter__(self) -> Iterator[TessellateFeature]: + return None + def item(self, index: int) -> TessellateFeature: + """ + Function that returns the specified tessellate 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 TessellateFeature() + def createInput(self, bodies: list[BRepBody]) -> TessellateFeatureInput: + """ + Creates a TessellateFeatureInput object. Use properties and methods on this object + to define the tessellation you want to create and then use the add method, passing in + the TessellateFeatureInput object. + bodies : A array with BReb bodies in either a parametric or direct modeling design. + Returns the newly created TessellateFeatureInput object or null if the creation failed. + """ + return TessellateFeatureInput() + def add(self, input: TessellateFeatureInput) -> TessellateFeature: + """ + Creates a tessellate feature. + input : A TessellateFeatureInput object that defines the desired tessellate feature. Use the createInput + method to create a new TessellateFeatureInput object and then use methods on it + (the TessellateFeatureInput object) to define the tessellate. + Returns the newly created TessellateFeatureInput object or null if the creation failed. + Returns nothing in the case where the feature is non-parametric. + """ + return TessellateFeature() + def itemByName(self, name: str) -> TessellateFeature: + """ + Function that returns the specified Tessellate 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 TessellateFeature() + @property + def count(self) -> int: + """ + The number of tessellate features in the collection. + """ + return int() + +class ThickenFeatureInput(core.Base): + """ + This class defines the methods and properties that pertain to the definition of a Thicken feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ThickenFeatureInput: + return ThickenFeatureInput() + @property + def inputFaces(self) -> core.ObjectCollection: + """ + An ObjectCollection containing the face and/or patch bodies to thicken. + """ + return core.ObjectCollection() + @inputFaces.setter + def inputFaces(self, value: core.ObjectCollection): + """ + An ObjectCollection containing the face and/or patch bodies to thicken. + """ + pass + @property + def thickness(self) -> core.ValueInput: + """ + Gets and sets the ValueInput object that defines the thickness distance. + """ + return core.ValueInput() + @thickness.setter + def thickness(self, value: core.ValueInput): + """ + Gets and sets the ValueInput object that defines the thickness distance. + """ + pass + @property + def isSymmetric(self) -> bool: + """ + Gets and sets whether to add thickness symmetrically or only on one side of the face/s to thicken + """ + return bool() + @isSymmetric.setter + def isSymmetric(self, value: bool): + """ + Gets and sets whether to add thickness symmetrically or only on one side of the face/s to thicken + """ + pass + @property + def operation(self) -> FeatureOperations: + """ + Gets and sets the feature operation to perform. + """ + return FeatureOperations() + @operation.setter + def operation(self, value: FeatureOperations): + """ + Gets and sets the feature operation to perform. + """ + pass + @property + def isChainSelection(self) -> bool: + """ + Get and sets whether faces that are tangentially connected to the input faces will be included in the thicken feature. + """ + return bool() + @isChainSelection.setter + def isChainSelection(self, value: bool): + """ + Get and sets whether faces that are tangentially connected to the input faces will be included in the thicken feature. + """ + 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 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 + @property + def thickenType(self) -> ThickenTypes: + """ + The thicken type used when creating a thicken. + The default value is SharpThickenType. + """ + return ThickenTypes() + @thickenType.setter + def thickenType(self, value: ThickenTypes): + """ + The thicken type used when creating a thicken. + The default value is SharpThickenType. + """ + pass + +class ThickenFeatures(core.Base): + """ + Collection that provides access to all of the existing Thicken features in a component + and supports the ability to create new Thicken features. + """ + def __init__(self): + pass + @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. + 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 ThickenFeature() + 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 + the ThickenFeatureInput object to create the feature. + inputFaces : The faces or patch bodies to thicken. Faces need not be from the same component or body, nor do they need to be + connected or touching one another. + thickness : ValueInput object that defines the thickness. + isSymmetric : A boolean value for setting whether to add thickness symmetrically or only on one side of the face/s to thicken + operation : The feature operation to perform. + isChainSelection : A boolean value for setting whether or not faces that are tangentially connected to + the input faces (if any) will be included in the thicken. The default value is true. + Returns the newly created ThickenFeatureInput object or null if the creation failed. + """ + return ThickenFeatureInput() + def add(self, input: ThickenFeatureInput) -> ThickenFeature: + """ + Creates a new Thicken feature. + input : A FeatureInput object that defines the desired Thicken feature. Use the createInput + method to create a new ThickenFeatureInput object and then use methods on it + (the ThickenFeatureInput object) to define the Thicken feature. + Returns the newly created ThickenFeature object or null if the creation failed. + """ + return ThickenFeature() + def itemByName(self, name: str) -> ThickenFeature: + """ + Function that returns the specified thicken 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 ThickenFeature() + @property + def count(self) -> int: + """ + The number of Thicken features in the collection. + """ + return int() + +class ThreadDataQuery(core.Base): + """ + This object provides methods to query the thread data contained in the XML files in ThreadData folder within the + Fusion install folder. You can use the queried values to create a ThreadInfo object that is then used to + create a thread feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ThreadDataQuery: + return ThreadDataQuery() + @staticmethod + def create(isTapered: bool = False) -> ThreadDataQuery: + """ + Static method to create a new ThreadDataQuery object. The ThreadDataQuery object is a utility object that + provides methods to query for the valid thread definitions defined in Fusion. This object provides similar + functionality as the Thread and Hole command dialogs to find valid thread types, designations and classes which can + be used to create thread and tapped hole features. + isTapered : Specifies if you want to query for standard or tapered holes. + Returns a ThreadDataQuery object. + """ + return ThreadDataQuery() + def allSizes(self, threadType: str) -> list[str]: + """ + Returns an array/list of all the available thread sizes for a given thread type. You can + use the allThreadTypes property to get the available thread types. + threadType : Specify the thread type. + Returns the specified thread sizes or an empty array/list if an invalid thread type was specified. + """ + return [str()] + def allDesignations(self, threadType: str, size: str) -> list[str]: + """ + returns an array/list of all the available thread designations for a thread type of a given size. Valid + thread types and sizes and be obtained by using the allThreadTypes and allSizes functions. + threadType : The thread type of the designation you want. + size : The thread size of the designation you want. + Returns the specified thread designations or empty array/list if an invalid thread type or size was specified. + """ + return [str()] + def allClasses(self, isInternal: bool, threadType: str, designation: str) -> list[str]: + """ + Returns and array/list of all the available classes for a thread type of a given thread designation. + isInternal : Indicates if the thread is an internal or external thread. + threadType : The thread type of the thread class you want. + designation : The thread designation of the thread class you want. + Returns the specified thread classes or empty array/list if an invalid thread type or designation was specified. + """ + return [str()] + def threadTypeCustomName(self, threadType: str) -> str: + """ + Method that returns the custom name for a given thread type. The custom name is the localized name + of the thread type using the current language specified for Fusion. + threadType : The thread type you want to get the custom name for. + Returns the specified custom name or an empty string if an invalid thread type was specified. + """ + return str() + def threadTypeUnit(self, threadType: str) -> str: + """ + Method that returns the unit for a given thread type. + threadType : The thread type you want to get the thread unit type for. + Returns the specified unit or an empty string if an invalid thread type was specified. + """ + return str() + def recommendThreadData(self, modelDiameter: float, isInternal: bool, threadType: str) -> tuple[bool, str, str]: + """ + Method that gets the recommended thread data for a given cylinder diameter. This method + is only valid for straight threads and will fail for tapered threads. + modelDiameter : The diameter of the cylinder the thread will be placed on. The units are centimeters. + isInternal : Indicates if the thread is an internal or external thread. + threadType : Specifies the thread type to query the thread data. + designation : The output thread designation. + threadClass : The output thread class. + Returns true if successful. + """ + return (bool(), str(), str()) + @property + def allThreadTypes(self) -> list[str]: + """ + This method returns an array of all the available thread types (families). The type names are always + English. This English name should be used in the other methods that take the type as an input argument. + If you need to display the type name to the user, you can use the threadTypeCustomName method To get + the localized name. + """ + return [str()] + @property + def defaultInchThreadType(self) -> str: + """ + Gets the default thread type for inch threads. + """ + return str() + @property + def defaultMetricThreadType(self) -> str: + """ + Gets the default thread type for metric threads. + """ + return str() + @property + def isTapered(self) -> bool: + """ + Returns if this ThreadDataQuery was created to query for standard or tapered threads. + """ + return bool() + +class ThreadFeatureInput(core.Base): + """ + This class defines the methods and properties that pertain to the definition of a thread + feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ThreadFeatureInput: + return ThreadFeatureInput() + @property + def inputCylindricalFace(self) -> BRepFace: + """ + Gets and sets the threaded face. In the case where there are multiple faces, only the first one is returned. + Setting this results in a thread being applied to only a single face. + It is recommended that you use the inputCylindricalfaces property in order to have full access to the collection of faces + to be threaded. + """ + return BRepFace() + @inputCylindricalFace.setter + def inputCylindricalFace(self, value: BRepFace): + """ + Gets and sets the threaded face. In the case where there are multiple faces, only the first one is returned. + Setting this results in a thread being applied to only a single face. + It is recommended that you use the inputCylindricalfaces property in order to have full access to the collection of faces + to be threaded. + """ + pass + @property + def isModeled(self) -> bool: + """ + Gets and sets if the thread is physical or cosmetic thread. A value of true indicates a physical thread. + It defaults to false. + """ + return bool() + @isModeled.setter + def isModeled(self, value: bool): + """ + Gets and sets if the thread is physical or cosmetic thread. A value of true indicates a physical thread. + It defaults to false. + """ + pass + @property + def isFullLength(self) -> bool: + """ + Gets and sets if this thread is the full length of the cylinder. + It defaults to true. + """ + return bool() + @isFullLength.setter + def isFullLength(self, value: bool): + """ + Gets and sets if this thread is the full length of the cylinder. + It defaults to true. + """ + pass + @property + def threadLength(self) -> core.ValueInput: + """ + Gets and sets the thread length. + It is only used in the case where the isFullLength property is false. + """ + return core.ValueInput() + @threadLength.setter + def threadLength(self, value: core.ValueInput): + """ + Gets and sets the thread length. + It is only used in the case where the isFullLength property is false. + """ + pass + @property + def threadOffset(self) -> core.ValueInput: + """ + Gets and sets the thread offset. + The offset is the distance along the axis of the cylinder from the edge to the start of the thread. + It is only used in the case where the isFullLength property is false. + Returns nothing in the case where the feature is non-parametric. + """ + return core.ValueInput() + @threadOffset.setter + def threadOffset(self, value: core.ValueInput): + """ + Gets and sets the thread offset. + The offset is the distance along the axis of the cylinder from the edge to the start of the thread. + It is only used in the case where the isFullLength property is false. + Returns nothing in the case where the feature is non-parametric. + """ + pass + @property + def threadLocation(self) -> ThreadLocations: + """ + Gets and sets which end of the cylinder the thread is measured from when it's not full + length. The thread position and length can be measured from either the "low" or "high" end. + You can determine the low and high end by using the Cylinder associated with the cylindrical + BRepFace the thread is being added to. The BRepFace.geometry which will return a Cylinder object. + The axis property of the Cylinder is a vector and the high end of the cylinder is at the far end + of the cylinder with respect to the axis vector. + + This property is only used in the case where the isFullLength property is false and is otherwise ignored. + It defaults to creating a thread at the high end. + """ + return ThreadLocations() + @threadLocation.setter + def threadLocation(self, value: ThreadLocations): + """ + Gets and sets which end of the cylinder the thread is measured from when it's not full + length. The thread position and length can be measured from either the "low" or "high" end. + You can determine the low and high end by using the Cylinder associated with the cylindrical + BRepFace the thread is being added to. The BRepFace.geometry which will return a Cylinder object. + The axis property of the Cylinder is a vector and the high end of the cylinder is at the far end + of the cylinder with respect to the axis vector. + + This property is only used in the case where the isFullLength property is false and is otherwise ignored. + It defaults to creating a thread at the high end. + """ + pass + @property + def threadInfo(self) -> ThreadInfo: + """ + Gets and sets the information that defines the thread. + """ + return ThreadInfo() + @threadInfo.setter + def threadInfo(self, value: ThreadInfo): + """ + Gets and sets the information that defines the thread. + """ + pass + @property + def inputCylindricalFaces(self) -> core.ObjectCollection: + """ + Gets and sets the cylindrical input faces. + """ + return core.ObjectCollection() + @inputCylindricalFaces.setter + def inputCylindricalFaces(self, value: core.ObjectCollection): + """ + Gets and sets the cylindrical input faces. + """ + 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 ThreadFeatures(core.Base): + """ + Collection that provides access to all of the existing thread features in a component + and supports the ability to create new thread features. + + The creation of a tapped hole also results in the creation of a thread feature. These + thread features are also returned by this collection, even though they aren't present + in the timeline and are represented by the hole feature. + """ + def __init__(self): + pass + @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. + 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 ThreadFeature() + def createInput(self, inputCylindricalFaces: core.Base, threadInfo: ThreadInfo) -> ThreadFeatureInput: + """ + Creates a ThreadFeatureInput object. This object is the API equivalent of the Thread feature dialog. It collects + the required input and once fully defined you can pass this object to the ThreadFeatures.add method to create + the thread feature. + inputCylindricalFaces : A single cylindrical BRep face or a collection of cylindrical BRep faces to thread. + A collection of faces must all be from either holes (for internal threading) or all from cylinders (for external threading). + Both internal and external threads cannot be created in the same feature. + The faces in a collection can come from different bodies or components. + threadInfo : The ThreadInfo object that defines the type and size of the thread to create. When creating a thread, the type and size + of the thread is specified by referencing thread information defined in one of the XML files in the ThreadData folder within + the Fusion install folder. You can use the ThreadDataQuery object to query these XML files to find the specific thread you + want to create. The ThreadDataQuery object can be obtained by using the ThreadFeatures.threadDataQuery property. You then use + this information to create a ThreadInfo object using the ThreadFeatures.createThreadInfo method. + Returns the newly created ThreadFeatureInput object or null/None if the creation failed. + """ + return ThreadFeatureInput() + def add(self, input: ThreadFeatureInput) -> ThreadFeature: + """ + Creates a new thread feature. + input : A ThreadFeatureInput object that defines the desired thread. Use the createInput + method to create a new ThreadFeatureInput object and then use methods on it + (the ThreadFeatureInput object) to define the thread. + Returns the newly created ThreadFeature object or null if the creation failed. + """ + return ThreadFeature() + def itemByName(self, name: str) -> ThreadFeature: + """ + Function that returns the specified thread 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 ThreadFeature() + @property + def count(self) -> int: + """ + The number of thread features in the collection. + """ + return int() + +class ThreadInfo(core.Base): + """ + This class defines the methods and properties that define the type and size of a thread. This object is used + to create and query thread and tapped (straight and tapered) hole features. A new ThreadInfo object is + created by using the ThreadInfo.create method. If the ThreadInfo object is obtained from + an existing thread or hole feature, modifying the ThreadInfo object will modify the feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ThreadInfo: + return ThreadInfo() + @staticmethod + def create(isTapered: bool, isInternal: bool, threadType: str, threadDesignation: str, threadClass: str, isRightHanded: bool) -> ThreadInfo: + """ + This method creates a new ThreadInfo object that can be used to create a thread or tapped-hole feature. + The ThreadInfo object defines the type and size of the thread to create. When creating a thread, the + type and size of the thread are defined by specifying the thread type, designation, and class. Fusion + uses this information to look up the full details of the thread in tables delivered with Fusion. + The ThreadDataQuery object can be used to determine valid input for this information. + + The thread type implicitly defines if the thread is standard or tapered. Tapered threads can only be used + when creating tapped holes and are not supported for thread features. + isTapered : Input Boolean that indicates if the thread is straight or tapered. + isInternal : Input Boolean that indicates if the thread is internal or external. A value of true indicates an internal thread. + When the ThreadInfo is used to create a tapped hole, this value is ignored since it is always an internal thread. + threadType : Input string that defines the thread type. + threadDesignation : Input string that contains the thread designation. + threadClass : Input string that defines the thread class. This argument is ignored for tapered threads, so an empty string can be used. + isRightHanded : Input boolean that defines if the thread is right or left-handed. + Returns the newly created ThreadInfo object or null if the creation failed. + """ + return ThreadInfo() + def redefine(self, isTapered: bool, isInternal: bool, threadType: str, threadDesignation: str, threadClass: str, isRightHanded: bool) -> bool: + """ + Method that redefines an existing ThreadInfo object. This is typically used to change the thread of an existing + thread or tapped hole. + + The ThreadInfo object defines the type and size of a thread by specifying the thread type, designation, and class. + Fusion uses this information to look up the full details of the thread in tables delivered with Fusion. The + ThreadDataQuery object can be used to determine valid input for this information. + + Tapered threads can only be used when creating or editing tapped holes and are not supported for thread features. + isTapered : Input Boolean that indicates if the thread is straight or tapered. + isInternal : Input Boolean that indicates if the thread is internal or external. A value of true indicates an internal thread. + This value is ignored when the ThreadInfo is used for a tapped hole since they are always internal. + threadType : Input string that defines the thread type. + threadDesignation : Input string that defines the thread designation. + threadClass : Input string that defines the thread class. This argument is ignored for tapered threads. + isRightHanded : Input Boolean that specifies if the thread is straight or tapered. + Returns true if the redefinition was successful. + """ + return bool() + @property + def threadType(self) -> str: + """ + Returns and sets the string that defines the thread type. + """ + return str() + @threadType.setter + def threadType(self, value: str): + """ + Returns and sets the string that defines the thread type. + """ + pass + @property + def threadSize(self) -> str: + """ + Returns the string that defines the thread size. + """ + return str() + @property + def threadDesignation(self) -> str: + """ + Returns and sets the string that defines the thread designation. + """ + return str() + @threadDesignation.setter + def threadDesignation(self, value: str): + """ + Returns and sets the string that defines the thread designation. + """ + pass + @property + def threadClass(self) -> str: + """ + Returns and sets the string that defines the thread class. + """ + return str() + @threadClass.setter + def threadClass(self, value: str): + """ + Returns and sets the string that defines the thread class. + """ + pass + @property + def isInternal(self) -> bool: + """ + Returns and sets if the thread is an internal or external thread. A value of true indicates an internal thread. + It defaults to true. + """ + return bool() + @isInternal.setter + def isInternal(self, value: bool): + """ + Returns and sets if the thread is an internal or external thread. A value of true indicates an internal thread. + It defaults to true. + """ + pass + @property + def threadAngle(self) -> float: + """ + Returns the value that defines the thread angle. The units are degrees. + """ + return float() + @property + def threadPitch(self) -> float: + """ + Returns the value that defines the thread pitch. The units are centimeters. + """ + return float() + @property + def majorDiameter(self) -> float: + """ + Returns the value that defines the major diameter. The units are centimeters. + """ + return float() + @property + def minorDiameter(self) -> float: + """ + Returns the value that defines the minor diameter. The units are centimeters. + """ + return float() + @property + def pitchDiameter(self) -> float: + """ + Returns the value that defines the pitch diameter. The units are centimeters. + """ + return float() + @property + def isRightHanded(self) -> bool: + """ + Gets and sets if the thread is right or left-handed thread. A value of true indicates a right-handed thread. + It defaults to true. + """ + return bool() + @isRightHanded.setter + def isRightHanded(self, value: bool): + """ + Gets and sets if the thread is right or left-handed thread. A value of true indicates a right-handed thread. + It defaults to true. + """ + pass + @property + def isTapered(self) -> bool: + """ + Indicates if this ThreadInfo object defines a standard or tapered thread. + """ + return bool() + @property + def taperAngle(self) -> float: + """ + Returns the angle of the tapered thread in centimeters. + + This is only valid when isTapered is true. + """ + return float() + @property + def taperTapDrillDiameter(self) -> float: + """ + Returns the Diameter of the tap drill required to create this tap. + + This is only valid when isTapered is true. + """ + return float() + @property + def taperUsefulThreadLength(self) -> float: + """ + Returns the useful length of threads for a tapered thread in centimeters. + + This is only valid when isTapered is true. + """ + return float() + @property + def taperWrenchMakeupInternalDiameter(self) -> float: + """ + The wrench makeup internal diameter for a taper pipe thread, also known as the effective thread diameter, + is the diameter at the point where the thread engagement occurs when the pipe is tightened with a wrench. + + This is only valid when isTapered is true. + """ + return float() + @property + def taperThreadHeight(self) -> float: + """ + Returns the height of a tapered thread in centimeters. + + This is only valid when isTapered is true. + """ + return float() + +class Timeline(core.Base): + """ + A collection of TimelineObjects in a parametric design. + """ + def __init__(self): + pass + @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. + Returns true if the move is successful + """ + return bool() + def moveToEnd(self) -> bool: + """ + Moves the marker to the end of the timeline. + Returns true if the move is successful + """ + return bool() + def movetoNextStep(self) -> bool: + """ + Moves the marker to the next step in the timeline. + Returns true if the move is successful + """ + return bool() + def moveToPreviousStep(self) -> bool: + """ + Moves the marker to the previous step in the timeline. + Returns true if the move is successful + """ + return bool() + def play(self) -> bool: + """ + Plays the timeline beginning at the current position of the marker. + Returns true if playing the timeline was successful + """ + return bool() + def item(self, index: int) -> TimelineObject: + """ + Function that returns the specified item in the timeline using an index into the collection. + 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 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: + """ + Deletes all objects in the timeline that are after the current position of the marker. + Returns true if successful. + """ + return bool() + @property + def markerPosition(self) -> int: + """ + Gets and sets the current position of the marker where + 0 is at the beginning of the timeline and the value of Timeline.count is the end of the + timeline. + """ + return int() + @markerPosition.setter + def markerPosition(self, value: int): + """ + Gets and sets the current position of the marker where + 0 is at the beginning of the timeline and the value of Timeline.count is the end of the + timeline. + """ + pass + @property + def count(self) -> int: + """ + Returns the number of items in the collection. + """ + return int() + @property + def timelineGroups(self) -> TimelineGroups: + """ + Returns the collection of groups within the timeline. + """ + return TimelineGroups() + +class TimelineGroups(core.Base): + """ + Provides access to the time line groups within a design and provides + methods to create new groups. + """ + def __init__(self): + pass + @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 + by the start and end indices will be included in the group. A group cannot contains + another group so none of the items being grouped can be a group of this will fail. + startIndex : The index of the first item in the timeline that will be added to the group. + endIndex : The index of the last item in the timeline that will be added to the group. + Returns the created TimelineGroup object or null in the case of failure. + """ + return TimelineGroup() + def item(self, index: int) -> TimelineGroup: + """ + Function that returns the specified timeline group 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 TimelineGroup() + @property + def count(self) -> int: + """ + Returns the number of items in the collection. + """ + return int() + +class TimelineObject(core.Base): + """ + Represents an object in the timeline. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> TimelineObject: + return TimelineObject() + def rollTo(self, rollBefore: bool) -> bool: + """ + Rolls the timeline by repositioning the marker to either before or after this object. + This method will fail if this is a timelineGroup object and the group is expanded. + rollBefore : Set rollBefore to true to reposition the marker before this object or to false to + reposition the marker after this object + Returns true if the move was successful + """ + return 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. + + This method will fail if this is a timelineGroup object and the group is expanded. + beforeIndex : The index number of the position in the timeline to check + Returns true if the object can be reordered to the specified position + """ + return 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 + group is expanded. + """ + return bool() + @property + def isSuppressed(self) -> bool: + """ + Gets and sets if this object is suppressed. + """ + return bool() + @isSuppressed.setter + def isSuppressed(self, value: bool): + """ + Gets and sets if this object is suppressed. + """ + pass + @property + def parentGroup(self) -> TimelineGroup: + """ + Returns the parent group, if this object is part of a group. + Returns null if this object is not part of a group. + """ + return TimelineGroup() + @property + def index(self) -> int: + """ + Returns the position of this item within the timeline where + the first item has an index of 0. + + 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() + @property + def isRolledBack(self) -> bool: + """ + Indicates if this item is currently not being computed + because it has been rolled back. + + If this is a timelineGroup object and the group is expanded + the value of this property should be ignored. + """ + return bool() + @property + def entity(self) -> core.Base: + """ + Returns the entity associated with this timeline object. + Edit operations can be performed by getting the object + representing the associated entity and using the methods + and properties on that entity to make changes. + + Returns null if this TimelineObject represents a TimelineGroup object, + since it does not have an associated entity. + """ + return core.Base() + @property + def isGroup(self) -> bool: + """ + Indicates if this TimelineObject represents a group. If True you can + operate on this object as a TimelineGroup object. + """ + return bool() + @property + def name(self) -> str: + """ + Gets and sets the name of this timeline object. This name is shared by the object + the timeline object represents. For example, if the TimelineObject represents a Sketch + and you change the name using the TimelineObject, the name of the sketch in the browser + is also changed. The reverse is also true. Setting the name of an object; sketch, feature + construction geometry, etc, will also change the name of the associated node in the timeline. + """ + return str() + @name.setter + def name(self, value: str): + """ + Gets and sets the name of this timeline object. This name is shared by the object + the timeline object represents. For example, if the TimelineObject represents a Sketch + and you change the name using the TimelineObject, the name of the sketch in the browser + is also changed. The reverse is also true. Setting the name of an object; sketch, feature + construction geometry, etc, will also change the name of the associated node in the timeline. + """ + pass + @property + def healthState(self) -> FeatureHealthStates: + """ + Returns the current health state of the object associated with this TimelineObject. + """ + 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() + +class TorusFeatures(core.Base): + """ + Collection that provides access to all of the existing torus features in a design. + """ + def __init__(self): + pass + @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. + 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 TorusFeature() + def itemByName(self, name: str) -> TorusFeature: + """ + Function that returns the specified torus 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 TorusFeature() + @property + def count(self) -> int: + """ + The number of torus features in the collection. + """ + return int() + +class TriangleMesh(core.Base): + """ + The TriangleMesh object represents all of the data defining + a triangular mesh. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> TriangleMesh: + return TriangleMesh() + @property + def nodeCount(self) -> int: + """ + Returns the total number of nodes in the mesh. + """ + return int() + @property + def nodeCoordinatesAsDouble(self) -> list[float]: + """ + Returns the node coordinates as an array of doubles where + they are the x, y, z components of each coordinate. + """ + return [float()] + @property + def nodeCoordinatesAsFloat(self) -> list[float]: + """ + Returns the node coordinates as an array of floats where + they are the x, y, z components of each coordinate. + """ + return [float()] + @property + def nodeCoordinates(self) -> list[core.Point3D]: + """ + Returns the node coordinates as an array of Point3D objects. + """ + return [core.Point3D()] + @property + def triangleCount(self) -> int: + """ + Returns the number of triangles in the mesh. + """ + return int() + @property + def normalVectorsAsDouble(self) -> list[float]: + """ + Returns the normal vectors of the mesh where there is a normal + vector at each node. The normals are returned as an array + of doubles where they are the x, y, z components of each vector. + """ + return [float()] + @property + def normalVectorsAsFloat(self) -> list[float]: + """ + Returns the normal vectors of the mesh where there is a normal + vector at each node. The normals are returned as an array + of floats where they are the x, y, z components of each vector. + """ + return [float()] + @property + def normalVectors(self) -> list[core.Vector3D]: + """ + Returns the normal vectors of the mesh where there is a normal + vector at each node. The normals are returned as an array + of Vector3D objects. + """ + return [core.Vector3D()] + @property + def nodeIndices(self) -> list[int]: + """ + Returns an array of indices that define which nodes are used + for each triangle. This is used to look-up the coordinates in the + NodeCoordinates array to get the three coordinates of each triangle. + """ + return [int()] + @property + def textureCoordinatesAsDouble(self) -> list[float]: + """ + Returns the texture coordinates used when mapping a texture to + this face. The coordinates are returned as an array of + doubles where they are the u and v components of each + coordinate as defined in parametric space. There is a texture + coordinate for each vertex in the face mesh. + """ + return [float()] + @property + def textureCoordinatesAsFloat(self) -> list[float]: + """ + Returns the texture coordinates used when mapping a texture to + this face. The coordinates are returned as an array of + floats where they are the u and v components of each + coordinate as defined in parametric space. There is a texture + coordinate for each vertex in the face mesh. + """ + return [float()] + @property + def textureCoordinates(self) -> list[core.Point2D]: + """ + Returns the texture coordinates used when mapping a texture to + this face. The coordinates are returned as an array of + Point2D objects where the x and y properties of the point are + u and v coordinates as defined in parametric space. There is + a texture coordinate for each vertex in the face mesh. + """ + return [core.Point2D()] + @property + def surfaceTolerance(self) -> float: + """ + Returns the surface tolerance that was used to generate this mesh. + This is most useful when using display meshes that have already + been calculated. + """ + return float() + +class TriangleMeshCalculator(core.Base): + """ + Used to calculate new meshes for a B-Rep or T-Spline using defined criteria. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> TriangleMeshCalculator: + return TriangleMeshCalculator() + def setQuality(self, triangleMeshQuality: TriangleMeshQualityOptions) -> bool: + """ + This is a simplified way to set the various settings that control the resulting mesh. When used it automatically + adjusts all of the property values appropriately. It does this for the given geometry by computing its bounding + 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; + + 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. + + LowQualityTriangleMesh: 8 + NormalQualityTriangleMesh: 11 + HighQualityTriangleMesh: 13 + VeryHighQualityTriangleMesh: 15 + Returns true if setting the quality was successful. + """ + return bool() + def calculate(self) -> TriangleMesh: + """ + Calculates a new triangle mesh based on the current settings. + Returns the new TriangleMesh object or null in the case where the calculation failed. + """ + return TriangleMesh() + @property + def surfaceTolerance(self) -> float: + """ + Specifies the maximum distance that the mesh can deviate from the smooth surface. + The value is in centimeters. Smaller values can result in a much greater number + of facets being returned and will require more processing time to calculate. + """ + return float() + @surfaceTolerance.setter + def surfaceTolerance(self, value: float): + """ + Specifies the maximum distance that the mesh can deviate from the smooth surface. + The value is in centimeters. Smaller values can result in a much greater number + of facets being returned and will require more processing time to calculate. + """ + pass + @property + def maxSideLength(self) -> float: + """ + Specifies the maximum side of any triangle in the mesh. A value of 0 (the default) + indicates that no maximum length is specified. The value is specified in centimeters. + """ + return float() + @maxSideLength.setter + def maxSideLength(self, value: float): + """ + Specifies the maximum side of any triangle in the mesh. A value of 0 (the default) + indicates that no maximum length is specified. The value is specified in centimeters. + """ + pass + @property + def maxAspectRatio(self) -> float: + """ + Specifies the maximum length to height ratio that a triangle can have. + This helps to avoid long skinny triangles. A value of 0 (the default) + indicates that no maximum aspect ratio is specified. + """ + return float() + @maxAspectRatio.setter + def maxAspectRatio(self, value: float): + """ + Specifies the maximum length to height ratio that a triangle can have. + This helps to avoid long skinny triangles. A value of 0 (the default) + indicates that no maximum aspect ratio is specified. + """ + pass + @property + def maxNormalDeviation(self) -> float: + """ + Specifies the maximum deviation between adjacent vertex normals. + This value is the maximum angle allowed between normals and is + specified in radians. A value of 0 (the default) indicates that no normal deviation is specified. + """ + return float() + @maxNormalDeviation.setter + def maxNormalDeviation(self, value: float): + """ + Specifies the maximum deviation between adjacent vertex normals. + This value is the maximum angle allowed between normals and is + specified in radians. A value of 0 (the default) indicates that no normal deviation is specified. + """ + pass + @property + def parentMeshManager(self) -> MeshManager: + """ + Returns the parent MeshManager object. + """ + return MeshManager() + +class TriangleMeshList(core.Base): + """ + Provides access to a set of triangle meshes. + """ + def __init__(self): + pass + @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. + index : The index of the mesh to return where the first item has an index of 0. + Returns the specified mesh or null in the case of invalid index. + """ + return TriangleMesh() + @property + def bestMesh(self) -> TriangleMesh: + """ + Returns the mesh with the tightest surface tolerance. This can return null + in the case the list is empty, i.e. Count is 0. + """ + return TriangleMesh() + @property + def count(self) -> int: + """ + Returns the number of meshes in the collection. + """ + return int() + +class TrimFeatureInput(core.Base): + """ + This class defines the methods and properties that pertain to the definition of a TrimFeatureInput. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> TrimFeatureInput: + return TrimFeatureInput() + def cancel(self) -> bool: + """ + To determine the possible boundaries and allow you to choose which cells to keep, the trim + feature does a partial compute when the input object is created. To do this it starts a trim + feature transaction and completes the transaction when you call the add method. If you don't + call the add method it leaves Fusion in a bad state and there will be undo problems and it + will possibly crash. If you have created a TrimFeatureInput object and don't want to finish + the feature creation, you need to call the cancel method on the TrimFeatureInput object to + safely abort the current trim feature transaction. + """ + return bool() + @property + def bRepCells(self) -> BRepCells: + """ + Returns the collection of the valid cells that have been calculated based on the trim tool. + Use this collection to specify which cells to trim away. + """ + return BRepCells() + @property + def trimTool(self) -> core.Base: + """ + Gets and sets the entity (a patch body, B-Rep face, construction plane or sketch curve) that intersects the trim tool + """ + return core.Base() + @trimTool.setter + def trimTool(self, value: core.Base): + """ + Gets and sets the entity (a patch body, B-Rep face, construction plane or sketch curve) that intersects the trim tool + """ + 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 TrimFeatures(core.Base): + """ + Collection that provides access to all of the existing trim features in a component + and supports the ability to create new trim features. + """ + def __init__(self): + pass + @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. + 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 TrimFeature() + def createInput(self, trimTool: core.Base) -> TrimFeatureInput: + """ + Creates a TrimFeatureInput object. Use properties and methods on this object + to define the trim feature you want to create and then use the Add method, passing in + the TrimFeatureInput object. + + To determine the possible boundaries and allow you to choose which cells to keep, the trim + feature does a partial compute when the input object is created. To do this it starts a trim + 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 in a bad state and there will be undo + problems and possibly a crash. If you have created a TrimFeatureInput object and don't want to + finish the feature creation, you need to call the cancel method on the TrimFeatureInput object to + safely abort the current boundary fill transaction. + trimTool : A patch body, B-Rep face, construction plane or sketch curve that intersects the surface or surfaces to be trimmed + Returns the newly created TrimFeatureInput object or null if the creation failed. + """ + return TrimFeatureInput() + def add(self, input: TrimFeatureInput) -> TrimFeature: + """ + Creates a new trim feature. + input : A TrimFeatureInput object that defines the desired trim feature. Use the createInput + method to create a new TrimFeatureInput object and then use methods on it + (the TrimFeatureInput object) to define the trim feature. + Returns the newly created TrimFeature object or null if the creation failed. + """ + return TrimFeature() + def itemByName(self, name: str) -> TrimFeature: + """ + Function that returns the specified trim 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 TrimFeature() + @property + def count(self) -> int: + """ + The number of trim features in the collection. + """ + return int() + +class TSplineBodies(core.Base): + """ + A collection of TSpline bodies. + """ + def __init__(self): + pass + @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. + 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 TSplineBody() + def itemByName(self, name: str) -> TSplineBody: + """ + Returns a TSplineBody by specifying the name of the body as seen in the browser. + name : The name of the body, as seen in the browser. This is case sensitive. + Returns the specified item or null if a body with that name was not found. + """ + return TSplineBody() + def addByTSMFile(self, tsmFilename: str) -> TSplineBody: + """ + Creates a new TSplineBody by reading in a TSM file from disk. + tsmFilename : The full filename of the TSM file on disk. + Returns the newly created TSplineBody if successful or null in the case of failure. + """ + return TSplineBody() + def addByTSMDescription(self, tsmDescription: str) -> TSplineBody: + """ + Creates a new TSplineBody using the T-Spline description provided by the input + string which contains TSM formatted text. + tsmDescription : A string that contains a T-Spline description in TSM form. + Returns the newly created TSplineBody if successful or null in the case of failure. + """ + return TSplineBody() + @property + def count(self) -> int: + """ + The number of bodies in the collection. + """ + return int() + +class TSplineBody(core.Base): + """ + A TSpline body. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> TSplineBody: + return TSplineBody() + def getTSMDescription(self) -> str: + """ + Returns the T-Spline body as a string in the form of a TSM description. + Returns the string formatted using the TSM format. + """ + return str() + def saveAsTSMFile(self, filename: str) -> bool: + """ + Saves the body as a TSM file. + filename : The full filename of the file to save the body to. If the file already exists, + it will be overwritten. + Returns true if the file was successfully created. + """ + return bool() + @property + def name(self) -> str: + """ + Gets and sets the name of the body. If setting this property, there is the side-effect + that the B-Rep body created from this T-Spline body is also renamed. + """ + return str() + @name.setter + def name(self, value: str): + """ + Gets and sets the name of the body. If setting this property, there is the side-effect + that the B-Rep body created from this T-Spline body is also renamed. + """ + pass + @property + def parentFormFeature(self) -> FormFeature: + """ + Returns the owning form feature. + """ + return FormFeature() + @property + def entityToken(self) -> str: + """ + Returns a token for the TSplineBody object. This can be saved and used at a later + time with the Design.findEntityByToken method to get back the same T-Spline body. + + 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 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): + """ + Collection that provides access to all of the existing unfold features in a design. + """ + def __init__(self): + pass + @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. + 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 UnfoldFeature() + def itemByName(self, name: str) -> UnfoldFeature: + """ + Function that returns the specified unfold 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 UnfoldFeature() + @property + def count(self) -> int: + """ + The number of unfold features in the collection. + """ + return int() + +class UnstitchFeatures(core.Base): + """ + Collection that provides access to all of the existing Unstitch features in a component + and supports the ability to create new Unstitch features. + """ + def __init__(self): + pass + @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. + 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 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 + need not all come from the same body. + isChainSelection : A boolean value for setting whether or not faces that are connected and adjacent to + the input faces will be included in the selection. The default value is true. + Returns the newly created UnstitchFeature object or null if the creation failed. + """ + return UnstitchFeature() + def itemByName(self, name: str) -> UnstitchFeature: + """ + Function that returns the specified unstitch 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 UnstitchFeature() + @property + def count(self) -> int: + """ + The number of Unstitch features in the collection. + """ + return int() + +class UntrimFeatureInput(core.Base): + """ + This class defines the methods and properties that pertain to the definition of an Untrim feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> UntrimFeatureInput: + return UntrimFeatureInput() + def setLoopsFromFaces(self, faces: list[BRepFace], untrimLoopType: UntrimLoopTypes) -> bool: + """ + Set the loops to be removed from a set of faces. + faces : An array of BRepFace objects that will have the loops of the specified types removed. + Only loops that do not have a connected face can be removed (the edges in the loop have a single face). + The array can only contain faces from surface bodies, (the isSolid property of the BRepBody returns false). + untrimLoopType : The loop type to be untrimmed (AllLoopUntrimType, InternalLoopUntrimType, or ExternalLoopUntrimType). + Returns whether the operation was successful + """ + return bool() + def setLoops(self, loops: list[BRepLoop]) -> bool: + """ + Set the loops to be removed. + loops : Redefines this input to remove loops from the body. If faces were previously defined, that information will be lost. + Only loops that do not have a connected face can be removed (the edges in the loop have a single face) + The array can only contain loops from surface bodies, (the isSolid property of the BRepBody returns false). + Returns whether the operation was successful + """ + return bool() + @property + def untrimLoopType(self) -> UntrimLoopTypes: + """ + Gets the loop type to be untrimmed. This is only used when faces are being untrimmed and is ignored for loops. + """ + return UntrimLoopTypes() + @property + def facesToUntrim(self) -> list[BRepFace]: + """ + Gets the face objects to untrim. + Returns null/None in the case where loops are specified instead of faces. + """ + return [BRepFace()] + @property + def loopsToUntrim(self) -> list[BRepLoop]: + """ + Gets the loop objects to untrim. + Returns null/None in the case where faces are specified instead of loops + """ + return [BRepLoop()] + @property + def extensionDistance(self) -> core.ValueInput: + """ + Gets and sets the ValueInput object that defines the extension distance applied to faces when an + external boundary is removed. + """ + return core.ValueInput() + @extensionDistance.setter + def extensionDistance(self, value: core.ValueInput): + """ + Gets and sets the ValueInput object that defines the extension distance applied to faces when an + external boundary is removed. + """ + pass + +class UntrimFeatures(core.Base): + """ + Collection that provides access to all of the existing Untrim features in a component + and supports the ability to create new Untrim features. + """ + def __init__(self): + pass + @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. + 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 UntrimFeature() + def createInputFromFaces(self, faces: list[BRepFace], untrimLoopType: UntrimLoopTypes, extensionDistance: core.ValueInput = None) -> UntrimFeatureInput: + """ + Creates an UntrimFeatureInput object that defines the input needed to create an 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. + faces : An array of BRepFace objects that will have the loops of the specified type removed. + Only loops that do not have a connected face can be removed (the edges in the loop have a single face). + The array can only contain faces from surface bodies, (the isSolid property of the BRepBody returns false). + untrimLoopType : The loop type to be untrimmed (AllLoopUntrimType, InternalLoopUntrimType, or ExternalLoopUntrimType). + extensionDistance : If the untrim loop type is AllLoopUntrimType or ExternalLoopUntrimType the untrimmed faces can be extended by a specified distance. + Returns the newly created UntrimFeatureInput object or null if the creation failed. + """ + return UntrimFeatureInput() + def createInputFromLoops(self, loops: list[BRepLoop], extensionDistance: core.ValueInput = None) -> UntrimFeatureInput: + """ + Creates an UntrimFeatureInput object that defines the input needed to create an 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. + loops : Input the entities that define loops to remove. + Only loops that do not have a connected face can be removed (the edges in the loop have a single face) + The array can only contain loops from surface bodies, (the isSolid property of the BRepBody returns false). + extensionDistance : If an external boundary is removed the untrimmed face can be extended by a specified distance. + Returns the newly created UntrimFeatureInput object or null if the creation failed. + """ + return UntrimFeatureInput() + def add(self, input: UntrimFeatureInput) -> UntrimFeature: + """ + Creates a new Untrim feature. + input : An UntrimFeatureInput object that defines the desired Untrim feature. Use the createInput + method to create a new UntrimFeatureInput object and then use methods on it + (the UntrimFeatureInput object) to define the desired options for the Untrim feature. + Returns the newly created UntrimFeature object or null if the creation failed. + """ + return UntrimFeature() + def itemByName(self, name: str) -> UntrimFeature: + """ + Function that returns the specified Untrim 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 UntrimFeature() + @property + def count(self) -> int: + """ + The number of Untrim features in the collection. + """ + return int() + +class UserParameters(core.Base): + """ + Provides access to the User Parameters within a design and provides + methods to create new user parameters. + """ + def __init__(self): + pass + @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. + 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 UserParameter() + def itemByName(self, name: str) -> UserParameter: + """ + Function that returns the specified User Parameter using the name of the parameter + as it is displayed in the parameters dialog. + name : The name of the User Parameter as it is displayed in the parameters dialog + Returns the specified item or null if an invalid name was specified. + """ + return UserParameter() + def add(self, name: str, value: core.ValueInput, units: str, comment: str) -> UserParameter: + """ + Adds a new user parameter to the collection. + name : The name of the parameter. This is the name shown in the parameters dialog + value : ValueInput object that specifies the value of the parameter. If the ValueInput was created using a real, + the value will be interpreted using the internal unit for the unit type specified by the "units" argument. + For example, if the ValueInput was created using the real value 5 and the input to the "units" argument is + any valid length unit, the value will be interpreted as 5 centimeters since centimeters is the internal unit + for lengths. If the "units" argument is a valid angle unit the value will be interpreted as 5 radians. + + If the ValueInput was created using a string, the string is used as-is for the expression of the parameter. + For value parameters, this means if there are units as part of the string, it must evaluate to the same unit + type as that specified by the "units" argument and if no units are specified it will use the current default + units specified for the current document. For example, if the ValueInput was created with the string "5 in", + then the "units" argument must define any valid length so they are compatible. If the ValueInput was created + with the string "5", any unit type can be used and the result will be 5 of that unit. + + If the "units" argument is "Text" then a text parameter will be created using the value provided as the expression. + + When using a ValueInput created using a string, it's the same as creating a parameter in the user-interface. + You can specify any valid expression, i.e. "5", "5 in", "5 in / 2", "5 + Length", etc. and you can choose + from many different types of units. The only requirement is that the units must match in type. For example, + they must both be lengths, or they must both be angles. + + When creating a Boolean parameter, you should use the createByBoolean method of the ValueInput object. + units : The units to use for the value of the parameter. The use of any of the measurement units will result in the + creation of a numeric parameter. The units specified must match the units specified (if any) in the ValueInput object. + + To create a parameter with no units, you can specify an empty string as the units, which will also create a + numeric parameter. To create a text parameter, use "Text" as the unit type. + comment : The comment to display in the parameters dialog. Specify an empty string ("") for no comment + Returns the newly created UserParameter or null if the creation failed. + """ + return UserParameter() + def asArray(self) -> list[UserParameter]: + """ + Returns the user parameters in the design as an array. + Returns an array of the user parameters in the design. + """ + return [UserParameter()] + def exportUserParameters(self, userParameterArray: list[UserParameter], filename: str) -> bool: + """ + Function that exports a list of user parameters to a csv file. + userParameterArray : The array of user parameters to export. + filename : The full filename (path and file) of the file to write the parameters to. + Returns whether the export was successful. + """ + return bool() + def importUserParameters(self, filename: str) -> bool: + """ + Function that imports a list of user parameters from a csv file. + + The format of the csv file is as follows: + It must have at least two rows - Header followed by a row of parameter. + It must be encoded in UTF8 format. + It must contain at least six columns - name, unit, expression, value, comment, and favorite + where favorite is either true or false. + The columns must only have a comma delimiter. + Any locale will work but no thousands. + expression column support double quotes. + comment can either be single line or multi line. If multi line, it must be in double quotes. + + Here is an example of a csv file with two rows + Name,Unit,Expression,Value,Comments,Favorite + p1,mm,32 mm,32,the first parameter,FALSE + + The function exportUserParameters could be used to see what a csv file looks like. + filename : The full filename (path and file) of the file to read the parameters from. + Returns whether the import was successful. + """ + return bool() + @property + def count(self) -> int: + """ + Returns the number of parameters in the collection. + """ + return int() + @property + def design(self) -> Design: + """ + Returns the design that owns the user parameters collection. + """ + return Design() + +class VolumetricCustomFeatureInput(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + An input object for creating a volumetric custom feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> VolumetricCustomFeatureInput: + return VolumetricCustomFeatureInput() + @property + def boundaryBody(self) -> core.Base: + """ + The boundary body of the volumetric model. + """ + return core.Base() + @boundaryBody.setter + def boundaryBody(self, value: core.Base): + """ + The boundary body of the volumetric model. + """ + pass + +class VolumetricCustomFeatures(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 volumetric custom features in a component + and supports the ability to create new Volumetric Custom features. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> VolumetricCustomFeatures: + return VolumetricCustomFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> VolumetricCustomFeature: + return None + def __iter__(self) -> Iterator[VolumetricCustomFeature]: + return None + def item(self, index: int) -> VolumetricCustomFeature: + """ + Function that 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 VolumetricCustomFeature() + def itemByName(self, name: str) -> VolumetricCustomFeature: + """ + Returns the item with the specified internal name. + name : The name of the item. + Returns the specified item or null in the case where there is no item with the specified name. + """ + return VolumetricCustomFeature() + def add(self, input: VolumetricCustomFeatureInput) -> VolumetricCustomFeature: + """ + Add a new volumetric custom feature. + To create a new volumetric custom feature use the createInput method to create a new input + object and use the methods and properties on that object to define the required input for a + volumetric custom feature. Once the information is defined on the input object you can pass + it to the add method to create the feature. + input : The input object for creating a volumetric custom feature. + The newly added volumetric custom feature object or null if one cannot be added. + Only one volumetric model can be added to each body. + """ + return VolumetricCustomFeature() + def createInput(self, boundaryBody: core.Base) -> VolumetricCustomFeatureInput: + """ + Create a new VolumetricCustomFeatureInput object. + boundaryBody : The boundary body for the volumetric model. Must be a BRepBody or MeshBody. Must have the same parent + component as the VolumetricCustomFeatures. + Returns the newly created VolumetricCustomFeatureInput object or null if the creation failed. + """ + return VolumetricCustomFeatureInput() + @property + def count(self) -> int: + """ + The number of features in the collection. + """ + return int() + +class VolumetricModelToMeshFeatureInput(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + An input object for creating a volumetric model to mesh feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> VolumetricModelToMeshFeatureInput: + return VolumetricModelToMeshFeatureInput() + @property + def volumetricModel(self) -> core.Base: + """ + Gets and sets the volumetric model to be converted to a mesh. The volumetric model must have the + same parent component as the VolumetricModelToMeshFeature.This property is typed as core.Base + because the adsk.fusion library does not reference the volume library where the VolumetricModel object + is defined. At runtime, this property will return a VolumetricModel object. + """ + return core.Base() + @volumetricModel.setter + def volumetricModel(self, value: core.Base): + """ + Gets and sets the volumetric model to be converted to a mesh. The volumetric model must have the + same parent component as the VolumetricModelToMeshFeature.This property is typed as core.Base + because the adsk.fusion library does not reference the volume library where the VolumetricModel object + is defined. At runtime, this property will return a VolumetricModel object. + """ + pass + @property + def refinementType(self) -> VolumetricMeshRefinementTypes: + """ + Gets and sets the refinement type to be used when creating the mesh. The default is Low. + """ + return VolumetricMeshRefinementTypes() + @refinementType.setter + def refinementType(self, value: VolumetricMeshRefinementTypes): + """ + Gets and sets the refinement type to be used when creating the mesh. The default is Low. + """ + pass + @property + def elementSize(self) -> core.ValueInput: + """ + Gets and sets the element size to be used when creating the mesh. This value is only used when the + RefinementType is set to Custom. The value must be greater than 0. The default is equivalent to the + Low refinement type and is dependent on the size of the model. + """ + return core.ValueInput() + @elementSize.setter + def elementSize(self, value: core.ValueInput): + """ + Gets and sets the element size to be used when creating the mesh. This value is only used when the + RefinementType is set to Custom. The value must be greater than 0. The default is equivalent to the + Low refinement type and is dependent on the size of the model. + """ + pass + @property + def meshingApproach(self) -> VolumetricMeshingApproachTypes: + """ + Gets and sets the meshing approach to be used when creating the mesh. + The default is VolumetricMeshingAdvancedType. + """ + return VolumetricMeshingApproachTypes() + @meshingApproach.setter + def meshingApproach(self, value: VolumetricMeshingApproachTypes): + """ + Gets and sets the meshing approach to be used when creating the mesh. + The default is VolumetricMeshingAdvancedType. + """ + pass + @property + def isVolumetricModelRemoved(self) -> bool: + """ + Gets and sets if the volumetric model should be removed after creating the mesh. + the default is true. + """ + return bool() + @isVolumetricModelRemoved.setter + def isVolumetricModelRemoved(self, value: bool): + """ + Gets and sets if the volumetric model should be removed after creating the mesh. + the default is true. + """ + pass + @property + def isSmallShellsRemoved(self) -> bool: + """ + Gets and sets if small mesh shells should be removed after creating the mesh. + The default is false. + """ + return bool() + @isSmallShellsRemoved.setter + def isSmallShellsRemoved(self, value: bool): + """ + Gets and sets if small mesh shells should be removed after creating the mesh. + The default is false. + """ + pass + @property + def smallShellThreshold(self) -> core.ValueInput: + """ + Gets and Sets the small mesh threshold used to determine if a mesh shell is considered small. + The value is a fraction of the total mesh area and must be between 0 and 1. The default is 0.02. + """ + return core.ValueInput() + @smallShellThreshold.setter + def smallShellThreshold(self, value: core.ValueInput): + """ + Gets and Sets the small mesh threshold used to determine if a mesh shell is considered small. + The value is a fraction of the total mesh area and must be between 0 and 1. The default is 0.02. + """ + pass + @property + def isComputeSuspended(self) -> bool: + """ + Gets and sets if the feature compute should be suspended if a dependent entity changes. Default is false. + If true, the feature will need to be recomputed manually if a dependent entity changes. + The default is false. + """ + return bool() + @isComputeSuspended.setter + def isComputeSuspended(self, value: bool): + """ + Gets and sets if the feature compute should be suspended if a dependent entity changes. Default is false. + If true, the feature will need to be recomputed manually if a dependent entity changes. + The default is false. + """ + pass + +class VolumetricModelToMeshFeatures(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 volumetric model to mesh features in a component + and supports the ability to create new Volumetric Model To Mesh features. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> VolumetricModelToMeshFeatures: + return VolumetricModelToMeshFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> VolumetricModelToMeshFeature: + return None + def __iter__(self) -> Iterator[VolumetricModelToMeshFeature]: + return None + def item(self, index: int) -> VolumetricModelToMeshFeature: + """ + Function that 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 VolumetricModelToMeshFeature() + def itemByName(self, name: str) -> VolumetricModelToMeshFeature: + """ + Returns the item with the specified name. + name : The name of the item. + Returns the specified item or null in the case where there is no item with the specified name. + """ + return VolumetricModelToMeshFeature() + def add(self, input: VolumetricModelToMeshFeatureInput) -> VolumetricModelToMeshFeature: + """ + Add a new volumetric model to mesh feature. To create a new volumetric model to mesh feature use + the createInput function to create a new input object and use the methods and proprties on that + object to define the required input for an volumetric model to mesh feature. Once the information + is defined on the input object you can pass it to the Add method to create the Volumetric Model to + Mesh. + input : The input object for creating a volumetric model to mesh feature. + The newly added volumetric model to mesh feature. + """ + return VolumetricModelToMeshFeature() + def createInput(self, volumetricModel: core.Base) -> VolumetricModelToMeshFeatureInput: + """ + Create a new VolumetricModelToMeshFeatureInput object. + volumetricModel : The volumetric model to be converted to a mesh. Must have the same parent component as the + VolumetricModelToMeshFeatures. This property is typed as core.Base because the adsk.fusion + library does not reference the volume library where the VolumetricModel object is defined. + At runtime, this property will return a VolumetricModel object. + Returns the newly created VolumetricModelToMeshFeatureInput object or null if the creation failed. + """ + return VolumetricModelToMeshFeatureInput() + @property + def count(self) -> int: + """ + The number of features in the collection. + """ + return int() + +class WebFeatures(core.Base): + """ + Collection that provides access to all of the existing web features in a design. + """ + def __init__(self): + pass + @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. + 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 WebFeature() + def itemByName(self, name: str) -> WebFeature: + """ + Function that returns the specified web 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 WebFeature() + @property + def count(self) -> int: + """ + The number of web features in the collection. + """ + return int() + +class ZebraAnalyses(core.Base): + """ + Provides access to any zebra analyses results in the design. + """ + def __init__(self): + pass + @staticmethod + 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 count(self) -> int: + """ + Returns the number of ZebraAnalysis objects in the collection. + """ + 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 AllExtentDefinition(ExtentDefinition): + """ + Defines the inputs for an AllExtentDefinition object. This is used when defining the extent + for a hole feature. Some other features, like extrude, support defining the extents independently + in both directions. In that case you need to create a ThroughAllExtentDefinition and apply it for + the extent direction you want a through all type. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> AllExtentDefinition: + return AllExtentDefinition() + @property + def direction(self) -> ExtentDirections: + """ + Gets and sets the direction of the extent. + """ + return ExtentDirections() + @direction.setter + def direction(self, value: ExtentDirections): + """ + Gets and sets the direction of the extent. + """ + pass + +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 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): + """ + Defines the information for text that follows along a path. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> AlongPathTextDefinition: + return AlongPathTextDefinition() + @property + def path(self) -> core.Base: + """ + Get and sets the entity that defines the path for the text. This can be a SketchCurve or BRepEdge object. + """ + return core.Base() + @path.setter + def path(self, value: core.Base): + """ + Get and sets the entity that defines the path for the text. This can be a SketchCurve or BRepEdge object. + """ + pass + @property + def isAbovePath(self) -> bool: + """ + Gets and sets if the text should be positioned above or below the path entity. + """ + return bool() + @isAbovePath.setter + def isAbovePath(self, value: bool): + """ + Gets and sets if the text should be positioned above or below the path entity. + """ + pass + @property + def horizontalAlignment(self) -> core.HorizontalAlignments: + """ + Gets and sets the horizontal alignment of the text with respect to the path curve. + """ + return core.HorizontalAlignments() + @horizontalAlignment.setter + def horizontalAlignment(self, value: core.HorizontalAlignments): + """ + Gets and sets the horizontal alignment of the text with respect to the path curve. + """ + pass + @property + def characterSpacing(self) -> float: + """ + Gets and sets the spacing between the characters. This is an additional spacing to apply + that is defined as a percentage of the default spacing. A spacing of 0 indicates no + additional spacing. A spacing of 50 indicates to use the default plus 50% of the default. + """ + return float() + @characterSpacing.setter + def characterSpacing(self, value: float): + """ + Gets and sets the spacing between the characters. This is an additional spacing to apply + that is defined as a percentage of the default spacing. A spacing of 0 indicates no + additional spacing. A spacing of 50 indicates to use the default plus 50% of the default. + """ + pass + +class AngleExtentDefinition(ExtentDefinition): + """ + Defines the inputs for an AngleExtentDefinition object. + This feature extent is defined by an angle as well as whether the extent is symmetric or only in one direction. + If the extent is not symmetric, a positive or negative angle can be used to control the direction. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> AngleExtentDefinition: + return AngleExtentDefinition() + @property + def isSymmetric(self) -> bool: + """ + Gets and sets if the angle extent is in one direction or symmetric. + 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 angle extent is in one direction or symmetric. + For a hole this property will always return false and setting it is ignored. + """ + pass + @property + def angle(self) -> ModelParameter: + """ + Gets the ModelParameter that defines the angle. The value of the angle can be edited + by using the properties on the ModelParameter object to edit the parameter. + """ + return ModelParameter() + +class Arrange2DDefinition(ArrangeDefinition): + """ + This object defines all of the settings associated with a 2D arrangement. This is used + for both rectangular and true shape arrangements, but some properties are ignored + in some cases. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Arrange2DDefinition: + return Arrange2DDefinition() + @property + def globalRotation(self) -> ArrangeRotationTypes: + """ + Gets and sets the global rotation type. + """ + return ArrangeRotationTypes() + @globalRotation.setter + def globalRotation(self, value: ArrangeRotationTypes): + """ + Gets and sets the global rotation type. + """ + pass + @property + def globalQuantity(self) -> ModelParameter: + """ + Returns the parameter that controls the global quantity. You can modify the value by + using the properties on the returned ModelParameter object. + """ + return ModelParameter() + @property + def isGlobalDirectionFaceUp(self) -> bool: + """ + Gets and sets the global direction for selected faces. When true, the components specified + by selecting a face will be oriented such that the selection face will be oriented upward + in the arrangement. + """ + return bool() + @isGlobalDirectionFaceUp.setter + def isGlobalDirectionFaceUp(self, value: bool): + """ + Gets and sets the global direction for selected faces. When true, the components specified + by selecting a face will be oriented such that the selection face will be oriented upward + in the arrangement. + """ + pass + @property + def isPartInPartAllowed(self) -> bool: + """ + Gets and sets if parts can be nested within void areas of other parts. + + This is only used when + the solver type is 2D True Shape and is ignored for 2D Rectangular solutions. + """ + return bool() + @isPartInPartAllowed.setter + def isPartInPartAllowed(self, value: bool): + """ + Gets and sets if parts can be nested within void areas of other parts. + + This is only used when + the solver type is 2D True Shape and is ignored for 2D Rectangular solutions. + """ + pass + @property + def grainDirection(self) -> ModelParameter: + """ + Defines the angle of the grain direction of the envelope. An angle of 0 is in the X direction + of the envelope. You can modify the value by using the properties on the returned ModelParameter object. + + This is only valid when the solver type is True Shape and it returns null in all other cases. + """ + return ModelParameter() + +class Arrange2DEnvelopeInput(ArrangeEnvelopeInput): + """ + The Arrange2DEnvelopeInput is a base class used to define the various settings common to + the envelopes defined by a plane or by profiles and planar faces. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Arrange2DEnvelopeInput: + return Arrange2DEnvelopeInput() + @property + def isFlipped(self) -> bool: + """ + Specifies if the arrangement of objects is so they are above or X-Y plane of the envelope. + Defaults to false so the objects are above the construction plane, profile or face. + """ + return bool() + @isFlipped.setter + def isFlipped(self, value: bool): + """ + Specifies if the arrangement of objects is so they are above or X-Y plane of the envelope. + Defaults to false so the objects are above the construction plane, profile or face. + """ + pass + +class Arrange3DDefinition(ArrangeDefinition): + """ + This object defines all of the settings associated with a 3D arrangement. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Arrange3DDefinition: + return Arrange3DDefinition() + +class Arrange3DEnvelopeDefinition(ArrangeEnvelopeDefinition): + """ + The Arrange3DEnvelope object represents an 3D arrange envelope. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Arrange3DEnvelopeDefinition: + return Arrange3DEnvelopeDefinition() + @property + def plane(self) -> ConstructionPlane: + """ + Gets and sets the ConstructionPlane the envelope is defined on. + """ + return ConstructionPlane() + @plane.setter + def plane(self, value: ConstructionPlane): + """ + Gets and sets the ConstructionPlane the envelope is defined on. + """ + pass + @property + def length(self) -> ModelParameter: + """ + Returns the parameter that controls the length of the envelope volume. This defines the + You can modify the value by using the properties on the returned ModelParameter object. + """ + return ModelParameter() + @property + def width(self) -> ModelParameter: + """ + Returns the parameter that controls the width of the envelope volume. This defines the + You can modify the value by using the properties on the returned ModelParameter object. + """ + return ModelParameter() + @property + def height(self) -> ModelParameter: + """ + Returns the parameter that controls the height of the envelope volume. This defines the + You can modify the value by using the properties on the returned ModelParameter object. + """ + return ModelParameter() + @property + def originXOffset(self) -> ModelParameter: + """ + Returns the parameter that controls the X offset of the envelope volume from the origin of + the construction plane. You can modify the value by using the properties on the returned + ModelParameter object. + """ + return ModelParameter() + @property + def originYOffset(self) -> ModelParameter: + """ + Returns the parameter that controls the Y offset of the envelope volume from the origin of + the construction plane. You can modify the value by using the properties on the returned + ModelParameter object. + """ + return ModelParameter() + @property + def ceilingClearance(self) -> ModelParameter: + """ + Returns the parameter that controls the clearance of the objects from the top of the + envelope volume. You can modify the value by using the properties on the returned + ModelParameter object. + """ + return ModelParameter() + +class Arrange3DEnvelopeInput(ArrangeEnvelopeInput): + """ + This object is used to specify the input needed to define a 3D envelope. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Arrange3DEnvelopeInput: + return Arrange3DEnvelopeInput() + @property + def plane(self) -> ConstructionPlane: + """ + Gets and sets the construction plane that will be used for this envelope. + """ + return ConstructionPlane() + @plane.setter + def plane(self, value: ConstructionPlane): + """ + Gets and sets the construction plane that will be used for this envelope. + """ + pass + @property + def length(self) -> core.ValueInput: + """ + Gets and sets length of the envelope. This is the size of the envelope as measured along the X axis of the specified + construction plane. + + This value will become a parameter when the arrangement is created. If the ValueInput is created using a + real number it is in centimeters. If you use a string, it is evaluated the same as a value would be in the command + dialog and uses the current document units. For example, if the document units are inch and you specific "0.25" it + will result in 1/4 inch clearance. Using a string, you can also specify the units as part of the expression, + such as "0.25 in + 2 mm". And you can define equations like "PartSize + 2 mm" where "PartSize" is an existing parameter. + """ + return core.ValueInput() + @length.setter + def length(self, value: core.ValueInput): + """ + Gets and sets length of the envelope. This is the size of the envelope as measured along the X axis of the specified + construction plane. + + This value will become a parameter when the arrangement is created. If the ValueInput is created using a + real number it is in centimeters. If you use a string, it is evaluated the same as a value would be in the command + dialog and uses the current document units. For example, if the document units are inch and you specific "0.25" it + will result in 1/4 inch clearance. Using a string, you can also specify the units as part of the expression, + such as "0.25 in + 2 mm". And you can define equations like "PartSize + 2 mm" where "PartSize" is an existing parameter. + """ + pass + @property + def width(self) -> core.ValueInput: + """ + Gets and sets width of the envelope. This is the size of the envelope as measured along the Y axis of the specified + construction plane. + + This value will become a parameter when the arrangement is created. If the ValueInput is created using a + real number it is in centimeters. If you use a string, it is evaluated the same as a value would be in the command + dialog and uses the current document units. For example, if the document units are inch and you specific "0.25" it + will result in 1/4 inch clearance. Using a string, you can also specify the units as part of the expression, + such as "0.25 in + 2 mm". And you can define equations like "PartSize + 2 mm" where "PartSize" is an existing parameter. + """ + return core.ValueInput() + @width.setter + def width(self, value: core.ValueInput): + """ + Gets and sets width of the envelope. This is the size of the envelope as measured along the Y axis of the specified + construction plane. + + This value will become a parameter when the arrangement is created. If the ValueInput is created using a + real number it is in centimeters. If you use a string, it is evaluated the same as a value would be in the command + dialog and uses the current document units. For example, if the document units are inch and you specific "0.25" it + will result in 1/4 inch clearance. Using a string, you can also specify the units as part of the expression, + such as "0.25 in + 2 mm". And you can define equations like "PartSize + 2 mm" where "PartSize" is an existing parameter. + """ + pass + @property + def height(self) -> core.ValueInput: + """ + Gets and sets height of the envelope. This is the size of the envelope as measured along the Z axis of the specified + construction plane. + + This value will become a parameter when the arrangement is created. If the ValueInput is created using a + real number it is in centimeters. If you use a string, it is evaluated the same as a value would be in the command + dialog and uses the current document units. For example, if the document units are inch and you specific "0.25" it + will result in 1/4 inch clearance. Using a string, you can also specify the units as part of the expression, + such as "0.25 in + 2 mm". And you can define equations like "PartSize + 2 mm" where "PartSize" is an existing parameter. + """ + return core.ValueInput() + @height.setter + def height(self, value: core.ValueInput): + """ + Gets and sets height of the envelope. This is the size of the envelope as measured along the Z axis of the specified + construction plane. + + This value will become a parameter when the arrangement is created. If the ValueInput is created using a + real number it is in centimeters. If you use a string, it is evaluated the same as a value would be in the command + dialog and uses the current document units. For example, if the document units are inch and you specific "0.25" it + will result in 1/4 inch clearance. Using a string, you can also specify the units as part of the expression, + such as "0.25 in + 2 mm". And you can define equations like "PartSize + 2 mm" where "PartSize" is an existing parameter. + """ + pass + @property + def originXOffset(self) -> core.ValueInput: + """ + Gets and sets the X offset of the envelope from the origin of the construction plane. This value defaults to zero. + + This value will become a parameter when the arrangement is created. If the ValueInput is created using a + real number it is in centimeters. If you use a string, it is evaluated the same as a value would be in the command + dialog and uses the current document units. For example, if the document units are inch and you specific "0.25" it + will result in 1/4 inch clearance. Using a string, you can also specify the units as part of the expression, + such as "0.25 in + 2 mm". And you can define equations like "PartSize + 2 mm" where "PartSize" is an existing parameter. + """ + return core.ValueInput() + @originXOffset.setter + def originXOffset(self, value: core.ValueInput): + """ + Gets and sets the X offset of the envelope from the origin of the construction plane. This value defaults to zero. + + This value will become a parameter when the arrangement is created. If the ValueInput is created using a + real number it is in centimeters. If you use a string, it is evaluated the same as a value would be in the command + dialog and uses the current document units. For example, if the document units are inch and you specific "0.25" it + will result in 1/4 inch clearance. Using a string, you can also specify the units as part of the expression, + such as "0.25 in + 2 mm". And you can define equations like "PartSize + 2 mm" where "PartSize" is an existing parameter. + """ + pass + @property + def originYOffset(self) -> core.ValueInput: + """ + Gets and sets the Y offset of the envelope from the origin of the construction plane. This value defaults to zero. + + This value will become a parameter when the arrangement is created. If the ValueInput is created using a + real number it is in centimeters. If you use a string, it is evaluated the same as a value would be in the command + dialog and uses the current document units. For example, if the document units are inch and you specific "0.25" it + will result in 1/4 inch clearance. Using a string, you can also specify the units as part of the expression, + such as "0.25 in + 2 mm". And you can define equations like "PartSize + 2 mm" where "PartSize" is an existing parameter. + """ + return core.ValueInput() + @originYOffset.setter + def originYOffset(self, value: core.ValueInput): + """ + Gets and sets the Y offset of the envelope from the origin of the construction plane. This value defaults to zero. + + This value will become a parameter when the arrangement is created. If the ValueInput is created using a + real number it is in centimeters. If you use a string, it is evaluated the same as a value would be in the command + dialog and uses the current document units. For example, if the document units are inch and you specific "0.25" it + will result in 1/4 inch clearance. Using a string, you can also specify the units as part of the expression, + such as "0.25 in + 2 mm". And you can define equations like "PartSize + 2 mm" where "PartSize" is an existing parameter. + """ + pass + @property + def ceilingClearance(self) -> core.ValueInput: + """ + Gets and sets the ceiling clearance of the 3D envelope. This value defaults to zero. + + This value will become a parameter when the arrangement is created. If the ValueInput is created using a + real number it is in centimeters. If you use a string, it is evaluated the same as a value would be in the command + dialog and uses the current document units. For example, if the document units are inch and you specific "0.25" it + will result in 1/4 inch clearance. Using a string, you can also specify the units as part of the expression, + such as "0.25 in + 2 mm". And you can define equations like "PartSize + 2 mm" where "PartSize" is an existing parameter. + """ + return core.ValueInput() + @ceilingClearance.setter + def ceilingClearance(self, value: core.ValueInput): + """ + Gets and sets the ceiling clearance of the 3D envelope. This value defaults to zero. + + This value will become a parameter when the arrangement is created. If the ValueInput is created using a + real number it is in centimeters. If you use a string, it is evaluated the same as a value would be in the command + dialog and uses the current document units. For example, if the document units are inch and you specific "0.25" it + will result in 1/4 inch clearance. Using a string, you can also specify the units as part of the expression, + such as "0.25 in + 2 mm". And you can define equations like "PartSize + 2 mm" where "PartSize" is an existing parameter. + """ + pass + +class Arrange3DResultEnvelope(ArrangeResultEnvelope): + """ + Represents the arrange envelope result of a 3D arrange feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Arrange3DResultEnvelope: + return Arrange3DResultEnvelope() + @property + def boundingBox(self) -> core.BoundingBox3D: + """ + The bounding box of this result. The coordinates are defined with respect + to the root component base coordinate system. + """ + return core.BoundingBox3D() + +class ArrangeDefinition2DInput(ArrangeDefinitionInput): + """ + This object defines all of the settings associated with a 2D arrangement. This is used + for both rectangular and true shape arrangements, but some properties are ignored + in some cases. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ArrangeDefinition2DInput: + return ArrangeDefinition2DInput() + @property + def globalRotation(self) -> ArrangeRotationTypes: + """ + Gets and sets the global rotation type. This defaults to AllRotationsArrangeRotationType. + """ + return ArrangeRotationTypes() + @globalRotation.setter + def globalRotation(self, value: ArrangeRotationTypes): + """ + Gets and sets the global rotation type. This defaults to AllRotationsArrangeRotationType. + """ + pass + @property + def globalQuantity(self) -> core.ValueInput: + """ + Gets and sets the global quantity, which is the default quantity value for components. This defaults to 1. + + This value will become a parameter when the arrangement is created. When created with a real value it must be a whole number. + You can also use a string where it is interpreted the same as when entered in the command dialog. The expression must result + in a unitless whole number. It's also possible to use an equation like "Total / 4" where "Total" is an existing parameter and be + evenly divided by four. + """ + return core.ValueInput() + @globalQuantity.setter + def globalQuantity(self, value: core.ValueInput): + """ + Gets and sets the global quantity, which is the default quantity value for components. This defaults to 1. + + This value will become a parameter when the arrangement is created. When created with a real value it must be a whole number. + You can also use a string where it is interpreted the same as when entered in the command dialog. The expression must result + in a unitless whole number. It's also possible to use an equation like "Total / 4" where "Total" is an existing parameter and be + evenly divided by four. + """ + pass + @property + def isGlobalDirectionFaceUp(self) -> bool: + """ + Gets and sets the global direction for input faces. When true, the components specified + by selecting a face will be oriented such that the selection face will be oriented upward + in the arrangement. This defaults to true. + """ + return bool() + @isGlobalDirectionFaceUp.setter + def isGlobalDirectionFaceUp(self, value: bool): + """ + Gets and sets the global direction for input faces. When true, the components specified + by selecting a face will be oriented such that the selection face will be oriented upward + in the arrangement. This defaults to true. + """ + pass + @property + def isPartInPartAllowed(self) -> bool: + """ + Gets and sets if parts can be nested within void areas of other parts. This defaults to true. + + This is only used when the solver type is 2D True Shape and is ignored for 2D Rectangular solutions. + """ + return bool() + @isPartInPartAllowed.setter + def isPartInPartAllowed(self, value: bool): + """ + Gets and sets if parts can be nested within void areas of other parts. This defaults to true. + + This is only used when the solver type is 2D True Shape and is ignored for 2D Rectangular solutions. + """ + pass + @property + def grainDirection(self) -> core.ValueInput: + """ + Defines the angle of the grain direction of the envelope. This is only used when the solver type is True Shape. + An angle of 0 is in the X direction of the envelope, and the default value is zero. + + This value will become a parameter when the arrangement is created. If the ValueInput is created using a + real number it is in radians. If you use a string, it is evaluated the same as a value would be in the command + dialog and uses degrees as the units. For example, if you specify "45" it will result in a 45 degree grain + direction. Using a string you can also define an equation for the expression, "PartAngle / 2" where "PartAngle" + """ + return core.ValueInput() + @grainDirection.setter + def grainDirection(self, value: core.ValueInput): + """ + Defines the angle of the grain direction of the envelope. This is only used when the solver type is True Shape. + An angle of 0 is in the X direction of the envelope, and the default value is zero. + + This value will become a parameter when the arrangement is created. If the ValueInput is created using a + real number it is in radians. If you use a string, it is evaluated the same as a value would be in the command + dialog and uses degrees as the units. For example, if you specify "45" it will result in a 45 degree grain + direction. Using a string you can also define an equation for the expression, "PartAngle / 2" where "PartAngle" + """ + pass + +class ArrangeDefinition3DInput(ArrangeDefinitionInput): + """ + This object defines all of the settings associated with a 3D arrangement. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ArrangeDefinition3DInput: + return ArrangeDefinition3DInput() + +class ArrangeFeature(Feature): + """ + Represents an Arrange feature within a component. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ArrangeFeature: + return ArrangeFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> ArrangeFeature: + """ + 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 ArrangeFeature() + @property + def definition(self) -> ArrangeDefinition: + """ + Returns a definition object that provides access to the information defining this arrange + feature and provides access to the resulting arrangement of occurrences. + + To use this property, you need to position the timeline marker immediately before the Arrange feature. + This can be accomplished using the following code: arrangeFeature.timelineObject.rollTo(True) + """ + return ArrangeDefinition() + @property + def arrangeComponents(self) -> ArrangeComponents: + """ + Returns the collection of ArrangeComponent objects that are being arranged. + + To use this property, you need to position the timeline marker immediately before the Arrange feature. + This can be accomplished using the following code: arrangeFeature.timelineObject.rollTo(True) + """ + return ArrangeComponents() + @property + def envelopeDefinition(self) -> ArrangeEnvelopeDefinition: + """ + Returns the envelope definition associated with this arrangement. + + To use this property, you need to position the timeline marker immediately before the Arrange feature. + This can be accomplished using the following code: arrangeFeature.timelineObject.rollTo(True) + """ + return ArrangeEnvelopeDefinition() + @property + def resultEnvelopes(self) -> ArrangeResultEnvelopes: + """ + Returns the resulting envelopes and their contents. + """ + return ArrangeResultEnvelopes() + @property + def unusedComponents(self) -> list[ArrangeComponent]: + """ + Returns an array of ArrangeComponent objects that did not fit in the arrangement. This is + most useful in the case where partial arrange has been enabled, which means some + components may have been arranged and others were left out. + + To use this property, you need to position the timeline marker immediately before the Arrange feature. + This can be accomplished using the following code: arrangeFeature.timelineObject.rollTo(True) + """ + return [ArrangeComponent()] + @property + def nativeObject(self) -> ArrangeFeature: + """ + 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 ArrangeFeature() + @property + def arrangeStatistics(self) -> str: + """ + Returns statistics about the arrangement in JSON format as a string. Each item in the JSON is identified with its English name, + and the current localized name is also provided. The values follow the API rules, where all length values are in centimeters, + and areas are in square centimeters. The returned JSON may include additional values in the future, so code consuming this + output should be tolerant of new fields. + + Returns an empty string in the case it failed to get any statistics. + """ + return str() + +class ArrangePlaneEnvelopeDefinition(ArrangeEnvelopeDefinition): + """ + The ArrangePlaneEnvelope object represents an arrange envelope defined + by a construction plane. This defines the settings of the envelope and the + EnvelopeResult provides access to the resulting envelope and its contents. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ArrangePlaneEnvelopeDefinition: + return ArrangePlaneEnvelopeDefinition() + @property + def plane(self) -> ConstructionPlane: + """ + Gets and sets the ConstructionPlane the envelope is defined on. + """ + return ConstructionPlane() + @plane.setter + def plane(self, value: ConstructionPlane): + """ + Gets and sets the ConstructionPlane the envelope is defined on. + """ + pass + @property + def length(self) -> ModelParameter: + """ + Returns the parameter that controls the length of the envelope frame. This defines the + You can modify the value by using the properties on the returned ModelParameter object. + """ + return ModelParameter() + @property + def width(self) -> ModelParameter: + """ + Returns the parameter that controls the width of the envelope frame. This defines the + You can modify the value by using the properties on the returned ModelParameter object. + """ + return ModelParameter() + @property + def originXOffset(self) -> ModelParameter: + """ + Returns the parameter that controls the X offset of the frame from the origin of the + construction plane. You can modify the value by using the properties on the returned + ModelParameter object. + """ + return ModelParameter() + @property + def originYOffset(self) -> ModelParameter: + """ + Returns the parameter that controls the Y offset of the frame from the origin of the + construction plane. You can modify the value by using the properties on the returned + ModelParameter object. + """ + return ModelParameter() + @property + def envelopeSpacing(self) -> ModelParameter: + """ + Returns the parameter that controls the offset distance between envelopes when there is + more than one. You can modify the value by using the properties on the returned + ModelParameter object. + """ + return ModelParameter() + @property + def quantity(self) -> ModelParameter: + """ + Returns the parameter that defines the number of envelopes that can be created. + A value of -1 indicates that there is no limit. + """ + return ModelParameter() + +class ArrangePlaneResultEnvelope(ArrangeResultEnvelope): + """ + Represents the arrange result of a single envelope that is defined on a plane. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ArrangePlaneResultEnvelope: + return ArrangePlaneResultEnvelope() + @property + def boundingBox(self) -> core.BoundingBox2D: + """ + The bounding box of the this result. The coordinates are defined + using the coordinate system of the construction plane used to + define the envelope. + """ + return core.BoundingBox2D() + +class ArrangeProfileOrFaceEnvelopeDefinition(ArrangeEnvelopeDefinition): + """ + The ArrangeProfileEnvelopeDefinition object represents envelopes defined by a profile or + face in an Arrange feature. This defines the settings of the envelope and the + EnvelopeResult provides access to the resulting envelope and its contents. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ArrangeProfileOrFaceEnvelopeDefinition: + return ArrangeProfileOrFaceEnvelopeDefinition() + @property + def profilesAndFaces(self) -> list[core.Base]: + """ + Gets and sets an array containing any combination of Profile and planar + BRepFace objects. These objects define the shapes of the envelopes. Currently, + if a Profile is used, it must be the only Profile in its parent sketch. + """ + return [core.Base()] + @profilesAndFaces.setter + def profilesAndFaces(self, value: list[core.Base]): + """ + Gets and sets an array containing any combination of Profile and planar + BRepFace objects. These objects define the shapes of the envelopes. Currently, + if a Profile is used, it must be the only Profile in its parent sketch. + """ + pass + +class ArrangeProfileOrFaceResultEnvelope(ArrangeResultEnvelope): + """ + Represents the arrange envelope result of a profile or face defined arrange feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ArrangeProfileOrFaceResultEnvelope: + return ArrangeProfileOrFaceResultEnvelope() + @property + def profileOrFace(self) -> core.Base: + """ + Returns the Profile or BRepFace object that defines the shape of this result envelope. + """ + return core.Base() + +class AsymmetricFilletEdgeSet(FilletEdgeSet): + """ + Provides access to the edges and the parameters associated with an asymmetric fillet. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> AsymmetricFilletEdgeSet: + return AsymmetricFilletEdgeSet() + @property + def edges(self) -> core.ObjectCollection: + """ + 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) + """ + return core.ObjectCollection() + @edges.setter + def edges(self, value: core.ObjectCollection): + """ + 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) + """ + pass + @property + def offsetOne(self) -> ModelParameter: + """ + Returns the model parameter that controls the offset distance of the fillet in the first direction + You can edit the offset by using the properties on the returned ModelParameter object. + """ + return ModelParameter() + @property + def offsetTwo(self) -> ModelParameter: + """ + Returns the model parameter that controls the offset distance of the fillet in the second direction + You can edit the offset by using the properties on the returned ModelParameter object. + """ + return ModelParameter() + @property + def isFlipped(self) -> bool: + """ + Gets and sets if offsets are reversed. If false, offsetOne is applied to the first direction + and offsetTwo to the second direction. Setting to true reverses this. + + 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() + @isFlipped.setter + def isFlipped(self, value: bool): + """ + Gets and sets if offsets are reversed. If false, offsetOne is applied to the first direction + and offsetTwo to the second direction. Setting to true reverses this. + + 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 AsymmetricFilletEdgeSetInput(FilletEdgeSetInput): + """ + Provides access to the edges and the parameters associated with an asymmetric fillet. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> AsymmetricFilletEdgeSetInput: + return AsymmetricFilletEdgeSetInput() + @property + def offsetOne(self) -> core.ValueInput: + """ + Gets and sets a ValueInput object that defines the first offset of the asymmetric 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() + @offsetOne.setter + def offsetOne(self, value: core.ValueInput): + """ + Gets and sets a ValueInput object that defines the first offset of the asymmetric 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 + @property + def offsetTwo(self) -> core.ValueInput: + """ + Gets and sets a ValueInput object that defines the second offset value of the asymmetric 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() + @offsetTwo.setter + def offsetTwo(self, value: core.ValueInput): + """ + Gets and sets a ValueInput object that defines the second offset value of the asymmetric 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 + @property + def isFlipped(self) -> bool: + """ + Gets and sets if offsets are reversed. If false, offsetOne is applied to the first direction + and offsetTwo to the second direction. Setting to true reverses this. + """ + return bool() + @isFlipped.setter + def isFlipped(self, value: bool): + """ + Gets and sets if offsets are reversed. If false, offsetOne is applied to the first direction + and offsetTwo to the second direction. Setting to true reverses this. + """ + pass + +class AtCenterHolePositionDefinition(HolePositionDefinition): + """ + Provides positioning information for a hole that is positioned at the center of a + circular or elliptical edge. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> AtCenterHolePositionDefinition: + return AtCenterHolePositionDefinition() + @property + def planarEntity(self) -> core.Base: + """ + Returns the plane that defines the orientation and start of the hole. + """ + return core.Base() + @property + def centerEdge(self) -> BRepEdge: + """ + Returns the circular or elliptical edge the hole is centered at. + """ + return BRepEdge() + +class BallJointMotion(JointMotion): + """ + Represents the set of information specific to a ball joint. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> BallJointMotion: + return BallJointMotion() + @property + def pitchDirection(self) -> JointDirections: + """ + Gets and sets the direction that the pitch is measured from. + This can only be set to ZAxisJointDirection and can return ZAxisJointDirection + or CustomJointDirection. If this returns CustomJointDirection then the + customNormalDirectionEntity will return an entity that defines the direction. + If there is a custom direction defined and this property is set to ZAxisJointDirection, + the custom direction will be removed and customNormalDirectionEntity will return null. + """ + return JointDirections() + @pitchDirection.setter + def pitchDirection(self, value: JointDirections): + """ + Gets and sets the direction that the pitch is measured from. + This can only be set to ZAxisJointDirection and can return ZAxisJointDirection + or CustomJointDirection. If this returns CustomJointDirection then the + customNormalDirectionEntity will return an entity that defines the direction. + If there is a custom direction defined and this property is set to ZAxisJointDirection, + the custom direction will be removed and customNormalDirectionEntity will return null. + """ + pass + @property + def customPitchDirectionEntity(self) -> core.Base: + """ + This property defines a custom pitch direction and can be set using various types + of entities that can infer a direction. For example, a linear edge, sketch line, + planar face, and cylindrical face.This property is only valid in the case where the + pitchDirection property returns CustomJointDirection. Setting this property will + automatically set the pitchDirection property to CustomJointDirection. + + To set this property, you need to position the timeline marker to immediately before this joint. + This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) + """ + return core.Base() + @customPitchDirectionEntity.setter + def customPitchDirectionEntity(self, value: core.Base): + """ + This property defines a custom pitch direction and can be set using various types + of entities that can infer a direction. For example, a linear edge, sketch line, + planar face, and cylindrical face.This property is only valid in the case where the + pitchDirection property returns CustomJointDirection. Setting this property will + automatically set the pitchDirection property to CustomJointDirection. + + To set this property, you need to position the timeline marker to immediately before this joint. + This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) + """ + pass + @property + def pitchDirectionVector(self) -> core.Vector3D: + """ + Returns the direction that the pitch angle is measured from. This property will return null in the case + where the BallJointMotion object was obtained from a JointInput object. + """ + return core.Vector3D() + @property + def yawDirection(self) -> JointDirections: + """ + Gets and sets the direction that the pitch is measured from. + This can only be set to XAxisJointDirection and can return XAxisJointDirection + or CustomJointDirection. If this returns CustomJointDirection then the + customYawDirectionEntity will return an entity that defines the direction. + If there is a custom direction defined and this property is set to XAxisJointDirection, + the custom direction will be removed and customYawDirectionEntity will return null. + """ + return JointDirections() + @yawDirection.setter + def yawDirection(self, value: JointDirections): + """ + Gets and sets the direction that the pitch is measured from. + This can only be set to XAxisJointDirection and can return XAxisJointDirection + or CustomJointDirection. If this returns CustomJointDirection then the + customYawDirectionEntity will return an entity that defines the direction. + If there is a custom direction defined and this property is set to XAxisJointDirection, + the custom direction will be removed and customYawDirectionEntity will return null. + """ + pass + @property + def customYawDirectionEntity(self) -> core.Base: + """ + This property defines a custom yaw direction and can be set using various types + of entities that can infer a direction. For example, a linear edge, sketch line, + planar face, and cylindrical face.This property is only valid in the case where the + yawDirection property returns CustomJointDirection. Setting this property will + automatically set the yawDirection property to CustomJointDirection. + + To set this property, you need to position the timeline marker to immediately before this joint. + This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) + """ + return core.Base() + @customYawDirectionEntity.setter + def customYawDirectionEntity(self, value: core.Base): + """ + This property defines a custom yaw direction and can be set using various types + of entities that can infer a direction. For example, a linear edge, sketch line, + planar face, and cylindrical face.This property is only valid in the case where the + yawDirection property returns CustomJointDirection. Setting this property will + automatically set the yawDirection property to CustomJointDirection. + + To set this property, you need to position the timeline marker to immediately before this joint. + This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) + """ + pass + @property + def yawDirectionVector(self) -> core.Vector3D: + """ + Returns the direction that the yaw angle is measured from. This property will return null in the case + where the BallJointMotion object was obtained from a JointInput object. + """ + return core.Vector3D() + @property + def rollDirectionVector(self) -> core.Vector3D: + """ + Returns the direction that the roll angle is measured from. This property will return null in the case + where the BallJointMotion object was obtained from a JointInput object. + """ + return core.Vector3D() + @property + def pitchValue(self) -> float: + """ + Gets and sets the pitch value. This is in radians. Setting this value is + the equivalent of using the Drive Joints command. + """ + return float() + @pitchValue.setter + def pitchValue(self, value: float): + """ + Gets and sets the pitch value. This is in radians. Setting this value is + the equivalent of using the Drive Joints command. + """ + pass + @property + def pitchLimits(self) -> JointLimits: + """ + Returns a JointLimits object that defines the limits of rotation for the pitch. + Use the functionality of the returned JointLimits object to get, set, and modify + the joint limits. + """ + return JointLimits() + @property + def yawValue(self) -> float: + """ + Gets and sets the yaw value. This is in radians. Setting this value is + the equivalent of using the Drive Joints command. + """ + return float() + @yawValue.setter + def yawValue(self, value: float): + """ + Gets and sets the yaw value. This is in radians. Setting this value is + the equivalent of using the Drive Joints command. + """ + pass + @property + def yawLimits(self) -> JointLimits: + """ + Returns a JointLimits object that defines the limits of rotation for the yaw. + Use the functionality of the returned JointLimits object to get, set, and modify + the joint limits. + """ + return JointLimits() + @property + def rollValue(self) -> float: + """ + Gets and sets the roll value. This is in radians. Setting this value is + the equivalent of using the Drive Joints command. + """ + return float() + @rollValue.setter + def rollValue(self, value: float): + """ + Gets and sets the roll value. This is in radians. Setting this value is + the equivalent of using the Drive Joints command. + """ + pass + @property + def rollLimits(self) -> JointLimits: + """ + Returns a JointLimits object that defines the limits of rotation for the roll. + Use the functionality of the returned JointLimits object to get, set, and modify + the joint limits. + """ + return JointLimits() + +class BaseFeature(Feature): + """ + The BaseFeature class represents a direct edit feature within a parametric design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> BaseFeature: + return BaseFeature() + def startEdit(self) -> bool: + """ + Set the user-interface so that the base body is in edit mode. + Returns true if successful. + """ + return bool() + def finishEdit(self) -> bool: + """ + Exits from edit mode in the user-interface. If this base feature in not + in edit mode, then nothing happens. + Returns true if successful. + """ + return bool() + def updateBody(self, sourceBody: BRepBody, newBody: BRepBody) -> bool: + """ + Update an existing source BRepBody created by this BaseFeature. + The input BRepBody definition will be copied into the existing BRepBody. + sourceBody : The source BRepBody to update. The source bodies of a BaseFeature are only available + from the bodies collection of the BaseFeature when the BaseFeature is in edit mode. + newBody : The BRepBody whose definition will be used to replace the existing source body's definition. + Returns true if the body was updated, or false if the update failed. + """ + return bool() + def createForAssemblyContext(self, occurrence: Occurrence) -> BaseFeature: + """ + 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 BaseFeature() + @property + def constructionPlanes(self) -> list[ConstructionPlane]: + """ + Returns an array of the construction planes associated with this base feature. + """ + return [ConstructionPlane()] + @property + def constructionAxes(self) -> list[ConstructionAxis]: + """ + Returns an array of the construction axes associated with this base feature. + """ + return [ConstructionAxis()] + @property + def constructionPoints(self) -> list[ConstructionPoint]: + """ + Returns an array of the construction points associated with this base feature. + """ + return [ConstructionPoint()] + @property + def sketches(self) -> list[Sketch]: + """ + Returns an array of the sketches associated with this base feature. + """ + return [Sketch()] + @property + def meshBodies(self) -> list[MeshBody]: + """ + Returns an array of the mesh bodies associated with this base feature. + """ + return [MeshBody()] + @property + def nativeObject(self) -> BaseFeature: + """ + 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 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): + """ + Object that represents an existing boundary fill feature in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> BoundaryFillFeature: + return BoundaryFillFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> BoundaryFillFeature: + """ + 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 BoundaryFillFeature() + def applyCellChanges(self) -> bool: + """ + After making any changes to the set of selected cells you must call this method to + indicate all changes have been made and to apply those changes to the feature. + Returns true if the apply was successful. + """ + return bool() + @property + def tools(self) -> core.ObjectCollection: + """ + A collection of construction planes and open or closed BRepBody objects that define the + set of boundaries that have been used in the calculation of available closed boundaries. + Setting this property will clear all currently selected tools. + + 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() + @tools.setter + def tools(self, value: core.ObjectCollection): + """ + A collection of construction planes and open or closed BRepBody objects that define the + set of boundaries that have been used in the calculation of available closed boundaries. + Setting this property will clear all currently selected tools. + + 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 bRepCells(self) -> BRepCells: + """ + Gets the set of closed boundaries that have been calculated based on the current set of + tools. To get this collection the model must be in the state it was when the feature + was initially computed, which means the timeline marker must be positioned to immediately + before this feature. + + After changing any selected cells you must call the applyCellChanges method to update + the feature with the changes. + """ + 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 nativeObject(self) -> BoundaryFillFeature: + """ + 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 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): + """ + Object that represents an existing box feature in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> BoxFeature: + return BoxFeature() + +class C3MFExportOptions(ExportOptions): + """ + Defines that a 3MF export is to be done and specifies the various options. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> C3MFExportOptions: + return C3MFExportOptions() + @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 3MF file in. + """ + return [str()] + @property + def printUtility(self) -> str: + """ + Specifies which print utility to use when opening the 3MF 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 know 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 3MF 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 know 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 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 + is false a filename must be defined. + """ + pass + +class ChamferFeature(Feature): + """ + Object that represents an existing chamfer feature in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ChamferFeature: + return ChamferFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> ChamferFeature: + """ + 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 ChamferFeature() + @property + def nativeObject(self) -> ChamferFeature: + """ + 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 ChamferFeature() + @property + def cornerType(self) -> ChamferCornerTypes: + """ + Gets and sets the type of corner to be modeled when multiple edges connect at a vertex. + """ + return ChamferCornerTypes() + @cornerType.setter + def cornerType(self, value: ChamferCornerTypes): + """ + Gets and sets the type of corner to be modeled when multiple edges connect at a vertex. + """ + pass + @property + def edgeSets(self) -> ChamferEdgeSets: + """ + Returns the edge sets associated with this chamfer. + """ + return ChamferEdgeSets() + +class ChordLengthFilletEdgeSet(FilletEdgeSet): + """ + Provides access to the edges and the parameter associated with a chord length fillet. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ChordLengthFilletEdgeSet: + return ChordLengthFilletEdgeSet() + @property + def edges(self) -> core.ObjectCollection: + """ + 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) + """ + return core.ObjectCollection() + @edges.setter + def edges(self, value: core.ObjectCollection): + """ + 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) + """ + pass + @property + def chordLength(self) -> ModelParameter: + """ + Returns the model parameter that controls the chord length of the fillet. You can edit + the chord length by using the properties on the returned ModelParameter object. + """ + 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. + """ + def __init__(self): + pass + @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): + """ + Object that represents an existing circular pattern feature in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CircularPatternFeature: + return CircularPatternFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> CircularPatternFeature: + """ + 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 CircularPatternFeature() + @property + def inputEntities(self) -> core.ObjectCollection: + """ + Gets and sets the input entities. The collection can contain faces, features, bodies or occurrences. + All of the entities must be of a single type. For example, it can't contain features and occurrences + but only features or occurrences. + + 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() + @inputEntities.setter + def inputEntities(self, value: core.ObjectCollection): + """ + Gets and sets the input entities. The collection can contain faces, features, bodies or occurrences. + All of the entities must be of a single type. For example, it can't contain features and occurrences + but only features or occurrences. + + 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 axis(self) -> core.Base: + """ + Gets and sets the axis of circular pattern. This can be a sketch line, linear edge, + construction axis, an edge/sketch curve that defines an axis (circle, etc.) or a face that defines an axis (cylinder, cone, torus, etc.). + + 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() + @axis.setter + def axis(self, value: core.Base): + """ + Gets and sets the axis of circular pattern. This can be a sketch line, linear edge, + construction axis, an edge/sketch curve that defines an axis (circle, etc.) or a face that defines an axis (cylinder, cone, torus, etc.). + + 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 totalAngle(self) -> ModelParameter: + """ + Returns the parameter controlling the total angle. + To edit the angle use properties on the parameter to edit its value. + This property returns null in the case where the feature is non-parametric. + A negative value can be used to change the direction of the pattern. + """ + return ModelParameter() + @property + def isSymmetric(self) -> bool: + """ + Gets and sets if the angle extent is in one direction or symmetric. + + 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() + @isSymmetric.setter + def isSymmetric(self, value: bool): + """ + Gets and sets if the angle extent is in one direction or symmetric. + + 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 quantity(self) -> ModelParameter: + """ + Returns the parameter controlling the number of pattern elements, including any suppressed elements. + To edit the quantity use properties on the parameter to edit its value. + This property returns null in the case where the feature is non-parametric. + """ + return ModelParameter() + @property + def suppressedElementsIds(self) -> list[int]: + """ + Gets and sets the id's of the elements to suppress. + + 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 [int()] + @suppressedElementsIds.setter + def suppressedElementsIds(self, value: list[int]): + """ + Gets and sets the id's of the elements to suppress. + + 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 patternElements(self) -> PatternElements: + """ + Gets the PatternElements collection that contains the elements created by this pattern. + """ + return PatternElements() + @property + def resultFeatures(self) -> core.ObjectCollection: + """ + Returns the features that were created as a result of this pattern. + This is only valid for a direct edit model and this returns null + in the case where the feature is parametric. + """ + return core.ObjectCollection() + @property + def nativeObject(self) -> CircularPatternFeature: + """ + 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 CircularPatternFeature() + @property + def patternEntityType(self) -> PatternEntityTypes: + """ + Returns the type of entities the pattern consists of. This can be used to help + determine the type of results that will be found in the pattern elements. + """ + return PatternEntityTypes() + @property + def patternComputeOption(self) -> PatternComputeOptions: + """ + Gets and sets the compute option for this pattern feature. + This property only applies when patterning features and is ignored in the direct modeling environment. + + 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 PatternComputeOptions() + @patternComputeOption.setter + def patternComputeOption(self, value: PatternComputeOptions): + """ + Gets and sets the compute option for this pattern feature. + This property only applies when patterning features and is ignored in the direct modeling environment. + + 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 CoilFeature(Feature): + """ + Object that represents an existing coil primitive feature in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CoilFeature: + return CoilFeature() + +class CoincidentConstraint(GeometricConstraint): + """ + A coincident constraint in a sketch. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CoincidentConstraint: + return CoincidentConstraint() + def createForAssemblyContext(self, occurrence: Occurrence) -> CoincidentConstraint: + """ + 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 CoincidentConstraint() + @property + def point(self) -> SketchPoint: + """ + Returns the sketch point that is constrained. + """ + return SketchPoint() + @property + def entity(self) -> SketchEntity: + """ + The sketch curve or point the point is constrained to. + """ + return SketchEntity() + @property + def nativeObject(self) -> CoincidentConstraint: + """ + 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 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. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CollinearConstraint: + return CollinearConstraint() + def createForAssemblyContext(self, occurrence: Occurrence) -> CollinearConstraint: + """ + 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 CollinearConstraint() + @property + def lineOne(self) -> SketchLine: + """ + Returns the first line. + """ + return SketchLine() + @property + def lineTwo(self) -> SketchLine: + """ + Returns the second line. + """ + return SketchLine() + @property + def nativeObject(self) -> CollinearConstraint: + """ + 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 CollinearConstraint() + +class CombineFeature(Feature): + """ + Object that represents an existing Combine feature in a design. + In non-parametric environment this object does not exist. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CombineFeature: + return CombineFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> CombineFeature: + """ + 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 CombineFeature() + @property + def targetBody(self) -> BRepBody: + """ + Gets and sets the BRep Body object that represents the blank body. + + 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() + @targetBody.setter + def targetBody(self, value: BRepBody): + """ + Gets and sets the BRep Body object that represents the blank body. + + 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 toolBodies(self) -> core.ObjectCollection: + """ + Gets and sets the BRep Body objects that represent the tool bodies. + + 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() + @toolBodies.setter + def toolBodies(self, value: core.ObjectCollection): + """ + Gets and sets the BRep Body objects that represent the tool bodies. + + 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 operation(self) -> FeatureOperations: + """ + Gets and sets the type of operation performed by the combine. + The valid values are JoinFeatureOperation, CutFeatureOperation and IntersectFeatureOperation. + + 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 FeatureOperations() + @operation.setter + def operation(self, value: FeatureOperations): + """ + Gets and sets the type of operation performed by the combine. + The valid values are JoinFeatureOperation, CutFeatureOperation and IntersectFeatureOperation. + + 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 isNewComponent(self) -> bool: + """ + Gets a boolean value for whether or not a new component was created when this feature was created. + """ + return bool() + @property + def isKeepToolBodies(self) -> bool: + """ + Gets and sets a boolean value for whether or not the tool bodies are retrained after the combine results. + + 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() + @isKeepToolBodies.setter + def isKeepToolBodies(self, value: bool): + """ + Gets and sets a boolean value for whether or not the tool bodies are retrained after the combine results. + + 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 nativeObject(self) -> CombineFeature: + """ + 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 CombineFeature() + +class Component(BaseComponent): + """ + Represents a component in the data model. + A component represents a set of geometry, features, and parameters that make up an item in the design. + A component can be referenced multiple times into a design with a Occurrence object. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Component: + return Component() + 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 + is input the chainCurves argument is checked to determine if connected curves (they do not need to be tangent) + should be automatically found. If multiple curves are provided the chainCurves argument is always + treated as false so you must provide all of the curves in the object collection that you want included in the profile. + The provided curves must all connect together in a single path. + + The input curves do not need to be in the same sketch, but they do need to geometrically connect for + a valid profile to be created. + chainCurves : If true, this finds any curves within the same sketch that connect to the single input curve and automatically includes them in the profile. If + false, only the curves provided will be used to define the profile. This argument is ignored and treated as false if multiple curves are input. + Returns the new Profile object or null in the case of a failure. + """ + return 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 + is input, the chainEdges argument is checked to determine if connected edges (they do not need to be tangent) + should be automatically found. If multiple edges are provided the chainEdges argument is always + treated as false so you must provide all of the edges in the object collection that you want included in the profile. + and the edges must all connect together in a single path. if a BRepLoop object is provided, all of the edges in the loop + are included in the profile and the chainEdges argument is ignored. + chainEdges : If true, this finds any edges that connect to the single input edge and automatically includes them in the profile. If + false, only the edges provided will be used to define the profile. This argument is ignored and treated as false if multiple edges + or a BRepLoop is input. + Returns the new Profile object or null in the case of a failure. + """ + return Profile() + def saveCopyAs(self, name: str, dataFolder: core.DataFolder, description: str, tag: str) -> core.DataFileFuture: + """ + Performs a Save Copy As on this component. This saves the specified component as a new document + in the specified location. + name : The name to use for the new document. If this is an empty string, Fusion will use the + name of the component being saved. + dataFolder : The data folder to save the new document to. + description : The description string of the document. This can be an empty string. + tag : The tag string of the document. This can be an empty string. + Returns a DataFileFuture object that can be used to track the progress of the upload and get the + resulting DataFile once it's available on A360. + """ + return core.DataFileFuture() + 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. + accuracy : Specifies the desired level of computational accuracy of the property calculations. + The default value of 'LowCalculationAccuracy' returns results within a +/- 1% error margin. + Returns a PhysicalProperties object that can be used to get the various physical property related values. + """ + return PhysicalProperties() + def transformOccurrences(self, occurrences: list[Occurrence], transforms: list[core.Matrix3D], ignoreJoints: bool) -> bool: + """ + Transforms a set of occurrences in one step. This provides better performance than transforming them one at a time. + This method is only valid when called on the root component because Fusion flattens the entire assembly structure + when manipulating the assembly so all transforms are relative to the root component. + occurrences : An array of Occurrence objects that you want to transform. These must all be in the context of the root component which + means proxies must be used for occurrences that are in sub-components. + transforms : An array of Matrix3D objects that defines the transform to apply to each occurrence. This array must be the same size + as the array provided for the occurrences argument and the transform will be applied to the occurrence at the same index + in the occurrences array. + ignoreJoints : Specifies if the joints are to be ignored and the occurrences are to be positioned based on then specified transform or if + the joints should be used and the occurrence is transformed the best it can while still honoring the joints. + 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() + def boundingBox2(self, entityTypes: BoundingBoxEntityTypes) -> core.BoundingBox3D: + """ + Returns the bounding box of the specified entity types within the component. + entityTypes : Bitwise value that specifies the types of entities to include in the + calculation of the bounding box. + Returns a BoundingBox3D object if the calculation was successful and null in the case where there is no valid geometry and the bounding box is empty. + """ + return core.BoundingBox3D() + def createThumbnail(self, width: int = 256, height: int = 256, imageType: str = "PNG") -> core.DataObject: + """ + Creates a thumbnail for this component. This can be a root component to get a thumbnail that + represents the associated file, or it can be any sub component to get a thumbnail of a subset of the + complete assembly or individual parts. + width : Optional argument to define the width of the thumbnail in pixels. A default width of 256 pixels is used if no width is specified. + height : Optional argument to define the height of the thumbnail in pixels. A default height of 256 pixels is used if no height is specified. + imageType : Optional argument to define the type of image data to create. The default of PNG is used if no type is specified. Valid types + include "PNG", "JPG", "TIF", and "BMP". + Returns a DataObject that you can use to save the thumbnail to a file or to access the binary data + of the bitmap directly. + """ + return core.DataObject() + @property + def sketches(self) -> Sketches: + """ + Returns the sketches collection associated with this component. + This provides access to the existing sketches and supports + the creation of new sketches. + """ + return Sketches() + @property + def features(self) -> Features: + """ + Returns the collection that provides access to all of the features + associated with this component. + """ + return Features() + @property + def meshBodies(self) -> MeshBodies: + """ + Returns the mesh bodies collection associated with this component. + """ + return MeshBodies() + @property + def modelParameters(self) -> ModelParameters: + """ + Returns the collection of model parameters in the Component. + """ + return ModelParameters() + @property + def isOriginFolderLightBulbOn(self) -> bool: + """ + Gets and sets if the light bulb of the origin folder as seen in the browser is on or off. + This controls the visibility of the origin construction geometry. + """ + return bool() + @isOriginFolderLightBulbOn.setter + def isOriginFolderLightBulbOn(self, value: bool): + """ + Gets and sets if the light bulb of the origin folder as seen in the browser is on or off. + This controls the visibility of the origin construction geometry. + """ + pass + @property + def isConstructionFolderLightBulbOn(self) -> bool: + """ + Gets and sets if the light bulb of the construction folder as seen in the browser is on or off. + This controls the visibility of the (non-origin) construction geometry + (i.e. planes, points, axes). + """ + return bool() + @isConstructionFolderLightBulbOn.setter + def isConstructionFolderLightBulbOn(self, value: bool): + """ + Gets and sets if the light bulb of the construction folder as seen in the browser is on or off. + This controls the visibility of the (non-origin) construction geometry + (i.e. planes, points, axes). + """ + pass + @property + def isSketchFolderLightBulbOn(self) -> bool: + """ + Gets and sets if the light bulb of the sketch folder as seen in the browser is on or off. + This controls the visibility of the sketches in this component. + """ + return bool() + @isSketchFolderLightBulbOn.setter + def isSketchFolderLightBulbOn(self, value: bool): + """ + Gets and sets if the light bulb of the sketch folder as seen in the browser is on or off. + This controls the visibility of the sketches in this component. + """ + pass + @property + def xYConstructionPlane(self) -> ConstructionPlane: + """ + Returns the XY origin construction plane. + """ + return ConstructionPlane() + @property + def xZConstructionPlane(self) -> ConstructionPlane: + """ + Returns the XZ origin construction plane. + """ + return ConstructionPlane() + @property + def yZConstructionPlane(self) -> ConstructionPlane: + """ + Returns the YZ origin construction plane. + """ + return ConstructionPlane() + @property + def xConstructionAxis(self) -> ConstructionAxis: + """ + Returns the X origin construction axis. + """ + return ConstructionAxis() + @property + def yConstructionAxis(self) -> ConstructionAxis: + """ + Returns the Y origin construction axis. + """ + return ConstructionAxis() + @property + def zConstructionAxis(self) -> ConstructionAxis: + """ + Returns the Z origin construction axis. + """ + return ConstructionAxis() + @property + def originConstructionPoint(self) -> ConstructionPoint: + """ + Returns the origin construction point. + """ + return ConstructionPoint() + @property + def partNumber(self) -> str: + """ + Gets and sets the part number associated with this component. Setting this + to an empty string will reset it to be the same as the component name. + """ + return str() + @partNumber.setter + def partNumber(self, value: str): + """ + Gets and sets the part number associated with this component. Setting this + to an empty string will reset it to be the same as the component name. + """ + pass + @property + def description(self) -> str: + """ + Gets and sets the description associated with this component. + """ + return str() + @description.setter + def description(self, value: str): + """ + Gets and sets the description associated with this component. + """ + pass + @property + def joints(self) -> Joints: + """ + Returns the collection of joints associated with this component. + """ + return Joints() + @property + def asBuiltJoints(self) -> AsBuiltJoints: + """ + Returns the collection of as-built joints associated with this component. + """ + return AsBuiltJoints() + @property + def rigidGroups(self) -> RigidGroups: + """ + Returns the collection of rigid groups associated with this component. + """ + return RigidGroups() + @property + def material(self) -> core.Material: + """ + Gets and sets the physical material assigned to this component. + """ + return core.Material() + @material.setter + def material(self, value: core.Material): + """ + Gets and sets the physical material assigned to this component. + """ + pass + @property + def physicalProperties(self) -> PhysicalProperties: + """ + Returns the PhysicalProperties object that has properties for getting the area, density, mass, volume, moments, etc + of this component. Property values will be calculated using the 'LowCalculationAccuracy' setting when using this property + to get the PhysicalProperties object. To specify a higher calculation tolerance, use the getPhysicalProperties method instead. + Returns a PhysicalProperties object that can be used to get the various physical property related values. + """ + return PhysicalProperties() + @property + def boundingBox(self) -> core.BoundingBox3D: + """ + Returns the bounding box of this component. This is always in world space of the component. + The boundingBox2 method provides greater control over which types of entities you want + included in the bounding box calculation. + """ + return core.BoundingBox3D() + @property + def isJointsFolderLightBulbOn(self) -> bool: + """ + Gets and sets if the light bulb of the joints folder as seen in the browser is on or off. + This controls the visibility of the joints in this occurrence. The light bulb for the + folder is component specific and will turn off the joints for all occurrences referencing + the component. + """ + return bool() + @isJointsFolderLightBulbOn.setter + def isJointsFolderLightBulbOn(self, value: bool): + """ + Gets and sets if the light bulb of the joints folder as seen in the browser is on or off. + This controls the visibility of the joints in this occurrence. The light bulb for the + folder is component specific and will turn off the joints for all occurrences referencing + the component. + """ + pass + @property + def attributes(self) -> core.Attributes: + """ + Returns the collection of attributes associated with this face. + """ + return core.Attributes() + @property + def isBodiesFolderLightBulbOn(self) -> bool: + """ + Gets and sets if the light bulb of the bodies folder as seen in the browser is on or off. + This controls the visibility of the solid/surface bodies and the mesh bodies in this component. + """ + return bool() + @isBodiesFolderLightBulbOn.setter + def isBodiesFolderLightBulbOn(self, value: bool): + """ + Gets and sets if the light bulb of the bodies folder as seen in the browser is on or off. + This controls the visibility of the solid/surface bodies and the mesh bodies in this component. + """ + pass + @property + def allJoints(self) -> list[Joint]: + """ + Returns all joints in this component and any sub components. The joints returned are all in the context + of this component so any joints in sub components will be proxies. This is primarily useful when used + from the root component because Fusion flattens the assembly structure, including joints, when manipulating + an assembly. + """ + return [Joint()] + @property + def allAsBuiltJoints(self) -> list[AsBuiltJoint]: + """ + Returns all joint origins in this component and any sub components. The joint origins returned are all in the context + of this component so any joint origins in sub components will be proxies. This is primarily useful when used + from the root component because Fusion flattens the assembly structure, including joint origins, when manipulating + an assembly. + """ + return [AsBuiltJoint()] + @property + def allJointOrigins(self) -> list[JointOrigin]: + """ + Returns all as-built joints in this component and any sub components. The as-built joints returned are all in the context + of this component so any as-built joints in sub components will be proxies. This is primarily useful when used + from the root component because Fusion flattens the assembly structure, including as-built joints, when manipulating + an assembly. + """ + return [JointOrigin()] + @property + def allRigidGroups(self) -> list[RigidGroup]: + """ + Returns all rigid groups in this component and any sub components. The rigid groups returned are all in the context + of this component so any rigid groups in sub components will be proxies. This is primarily useful when used + from the root component because Fusion flattens the assembly structure, including rigid groups, when manipulating + an assembly. + """ + return [RigidGroup()] + @property + def opacity(self) -> float: + """ + Gets and sets the opacity override assigned to this component. A value of 1.0 specifies + that is it completely opaque and a value of 0.0 specifies that is it completely transparent. + + This is only applicable for a non-root local component. + + This value is not necessarily related to what the user sees because the opacity is inherited. + For example, if you have TopComponent and it has a component in it called SubComponent and you + set the opacity of TopComponent to be 0.5, SubComponent will also be shown as slightly transparent + even though the opacity property for it will return 1.0. Because a component can be referenced as + an occurrence in other components and they can have different opacity settings, it's possible that + different instances of the same component can display using different opacity levels. To get the + opacity that it is being displayed with use the Occurrence.visibleOpacity property. + """ + return float() + @opacity.setter + def opacity(self, value: float): + """ + Gets and sets the opacity override assigned to this component. A value of 1.0 specifies + that is it completely opaque and a value of 0.0 specifies that is it completely transparent. + + This is only applicable for a non-root local component. + + This value is not necessarily related to what the user sees because the opacity is inherited. + For example, if you have TopComponent and it has a component in it called SubComponent and you + set the opacity of TopComponent to be 0.5, SubComponent will also be shown as slightly transparent + even though the opacity property for it will return 1.0. Because a component can be referenced as + an occurrence in other components and they can have different opacity settings, it's possible that + different instances of the same component can display using different opacity levels. To get the + opacity that it is being displayed with use the Occurrence.visibleOpacity property. + """ + pass + @property + def jointOrigins(self) -> JointOrigins: + """ + Returns the collection of joint origins associated with this component. + """ + return JointOrigins() + @property + def customGraphicsGroups(self) -> CustomGraphicsGroups: + """ + Returns the customGraphicsGroups object in this component. + """ + return CustomGraphicsGroups() + @property + def revisionId(self) -> str: + """ + Returns the current revision ID of the component. This ID changes any time the component is modified in any way. By getting + and saving the ID when you create any data that is dependent on the component, you can then compare the saved + ID with the current ID to determine if the component has changed to know if you should update your data. + """ + return str() + @property + def entityToken(self) -> str: + """ + Returns a token for the Component object. This can be saved and used at a later + time with the Design.findEntityByToken method to get back the same component. + + 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 id(self) -> str: + """ + Returns the persistent ID of the component. This ID is created with the component and does not change. + Because this ID does not change, different revisions of the same design or copies of the design asset/file + will retain this ID. If components from different designs have the same ID, it indicates they are either + different revisions or a copy of the design was made. Therefore, this ID will always be unique within a + single design, but may not be unique in an assembly where externally referenced designs include different + revisions or copies of a design. + + 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 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 + @property + def isLibraryItem(self) -> bool: + """ + Gets whether the component was created from a fasteners library item." + """ + return bool() + @property + def preciseBoundingBox(self) -> core.BoundingBox3D: + """ + Returns a bounding box that tightly fits around all B-Rep bodies in the component. + All other geometry types are ignored. + """ + return core.BoundingBox3D() + @property + def orientedMinimumBoundingBox(self) -> core.OrientedBoundingBox3D: + """ + Returns an oriented bounding box that is best oriented to tightly fit all B-Rep bodies in the component. + All other geometry types are ignored. + """ + return core.OrientedBoundingBox3D() + @property + def componentColor(self) -> core.Color: + """ + Gets and sets the color associated with a component. This color is only used when the + "Display Component Colors" command is enabled. Enabling the display of component colors + is done through the command or API using the Application.isComponentColorsDisplayed property. + When this is on, all bodies in a component will display using the color assigned to the component. + Fusion randomly assigns a color to a component when it is created. This property allows you to + get and change the assigned default color. Setting this property to null results in a new + color being randomly assigned by Fusion. This is the equivalent of the "Cycle Component Color" + command available in the context menu of a component. + """ + return core.Color() + @componentColor.setter + def componentColor(self, value: core.Color): + """ + Gets and sets the color associated with a component. This color is only used when the + "Display Component Colors" command is enabled. Enabling the display of component colors + is done through the command or API using the Application.isComponentColorsDisplayed property. + When this is on, all bodies in a component will display using the color assigned to the component. + Fusion randomly assigns a color to a component when it is created. This property allows you to + get and change the assigned default color. Setting this property to null results in a new + color being randomly assigned by Fusion. This is the equivalent of the "Cycle Component Color" + command available in the context menu of a component. + """ + pass + @property + def isDecalFolderLightBulbOn(self) -> bool: + """ + Gets and sets whether the light bulb of the decal folder, as seen in the browser, is on or off. + This controls the visibility of all the decals in the component. + """ + return bool() + @isDecalFolderLightBulbOn.setter + def isDecalFolderLightBulbOn(self, value: bool): + """ + Gets and sets whether the light bulb of the decal folder, as seen in the browser, is on or off. + This controls the visibility of all the decals in the component. + """ + pass + @property + def mfgdmModelId(self) -> str: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns the MFGDM model ID for this component. + """ + return str() + @property + def assemblyConstraints(self) -> AssemblyConstraints: + """ + Returns the collection of assembly constraints associated with this component. + """ + return AssemblyConstraints() + @property + def allAssemblyConstraints(self) -> list[AssemblyConstraint]: + """ + Returns all assembly constraints in this component and any sub components. The assembly constraints + returned are all in the context of this component so any joints in sub components will be proxies. + This is primarily useful when used from the root component because Fusion flattens the assembly + structure, including joints, when manipulating an assembly. + """ + return [AssemblyConstraint()] + @property + def isJointOriginsFolderLightBulbOn(self) -> bool: + """ + Gets and sets if the light bulb of the joint origins folder as seen in the browser is on or off. + This controls the visibility of the joint origins in this occurrence. The light bulb for the + folder is component specific and will turn off the joints for all occurrences referencing + the component. + """ + return bool() + @isJointOriginsFolderLightBulbOn.setter + def isJointOriginsFolderLightBulbOn(self, value: bool): + """ + Gets and sets if the light bulb of the joint origins folder as seen in the browser is on or off. + This controls the visibility of the joint origins in this occurrence. The light bulb for the + folder is component specific and will turn off the joints for all occurrences referencing + the component. + """ + pass + @property + def motionLinks(self) -> MotionLinks: + """ + Returns the collection of MotionLinks associated with this component. + """ + return MotionLinks() + +class ConcentricConstraint(GeometricConstraint): + """ + A concentric constraint in a sketch. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConcentricConstraint: + return ConcentricConstraint() + def createForAssemblyContext(self, occurrence: Occurrence) -> ConcentricConstraint: + """ + 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 ConcentricConstraint() + @property + def entityOne(self) -> SketchCurve: + """ + Returns the first curve. + """ + return SketchCurve() + @property + def entityTwo(self) -> SketchCurve: + """ + Returns the second curve. + """ + return SketchCurve() + @property + def nativeObject(self) -> ConcentricConstraint: + """ + 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 ConcentricConstraint() + +class ConfigurationAppearanceCell(ConfigurationCell): + """ + Represents a single cell within a ConfigurationAppearanceTable table that controls which + appearance is assigned to a component or body. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationAppearanceCell: + return ConfigurationAppearanceCell() + @property + def parentColumn(self) -> ConfigurationAppearanceColumn: + """ + Returns the column this cell is in. + """ + return ConfigurationAppearanceColumn() + @property + def appearance(self) -> core.Appearance: + """ + Gets and sets the appearance associated with this cell. + This property can return null indicating the appearance from the physical material assigned to the object is inherited. + Setting the property to null will inherit the appearance from the physical material assigned to the object. + """ + return core.Appearance() + @appearance.setter + def appearance(self, value: core.Appearance): + """ + Gets and sets the appearance associated with this cell. + This property can return null indicating the appearance from the physical material assigned to the object is inherited. + Setting the property to null will inherit the appearance from the physical material assigned to the object. + """ + pass + +class ConfigurationAppearanceColumn(ConfigurationColumn): + """ + Represents an appearance column in the appearance table. This defines the appearance to + use for a specific component. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationAppearanceColumn: + return ConfigurationAppearanceColumn() + def getCell(self, rowIndex: int) -> ConfigurationAppearanceCell: + """ + Gets the cell in this column at the specified row. The first row has an index of 0 + and does not include the header row. + rowIndex : The index of the row to return the cell for. The first row has an index of 0. + Returns the specified cell if successful and null if an invalid index was specified. + """ + return ConfigurationAppearanceCell() + def getCellByRowName(self, rowName: str) -> ConfigurationAppearanceCell: + """ + Gets the cell in this column at the row specified by its name. + rowName : The name of the row to return the cell for. + Returns the specified cell if successful and null if the name is not found. + """ + return ConfigurationAppearanceCell() + def getCellByRowId(self, rowId: str) -> ConfigurationAppearanceCell: + """ + Gets the cell in this column at the row specified by its ID. + rowId : The ID of the row to return the cell for. + Returns the specified cell if successful and null if the id is not found. + """ + return ConfigurationAppearanceCell() + @property + def entity(self) -> core.Base: + """ + Returns the Component or BRepBody being controlled by this column. This property returns + null when the table being queried was obtained from a DataFile object. + """ + return core.Base() + @property + def parentAppearanceTable(self) -> ConfigurationAppearanceTable: + """ + Returns the parent appearance table this column is in. + """ + return ConfigurationAppearanceTable() + +class ConfigurationAppearanceTable(ConfigurationTable): + """ + Represents a configuration table that defines the appearances assigned to bodies and components. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationAppearanceTable: + return ConfigurationAppearanceTable() + def clear(self) -> bool: + """ + Clears the content of the appearance table, removes the reference from the top table, and hides it in the user interface. + Returns true if successful. + """ + return bool() + @property + def columns(self) -> ConfigurationAppearanceColumns: + """ + Returns the collection that provides access to this table's columns and the ability to create new columns. + """ + return ConfigurationAppearanceColumns() + @property + def parentTableColumn(self) -> ConfigurationThemeColumn: + """ + Returns the column in the top table that references this appearance table. + """ + return ConfigurationThemeColumn() + @property + def name(self) -> str: + """ + Returns the name of the table as seen in the user interface. + """ + return str() + +class ConfigurationCustomThemeTable(ConfigurationTable): + """ + API object representing a custom theme configuration table associated with a top table. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationCustomThemeTable: + return ConfigurationCustomThemeTable() + def deleteMe(self, deleteColumns: bool) -> bool: + """ + Deletes this custom theme table from the configuration. + deleteColumns : If true, this deletes the columns in the custom theme table. If false, it moves them back to the top table. + Returns true if the delete was successful. + """ + return bool() + def moveColumns(self, columns: list[ConfigurationColumn], targetTable: ConfigurationTable) -> list[ConfigurationColumn]: + """ + Moves the specified columns from one table to another. + columns : An array of the columns within this table that you want to move. + targetTable : The table you want to move the columns to. The target must be either a top table or a custom theme table. + Returns an array of the columns created due to the move. + """ + return [ConfigurationColumn()] + @property + def name(self) -> str: + """ + Gets and sets the name of the table as seen in the user interface. + """ + return str() + @name.setter + def name(self, value: str): + """ + Gets and sets the name of the table as seen in the user interface. + """ + pass + @property + def columns(self) -> ConfigurationColumns: + """ + Returns the columns in this table. + """ + return ConfigurationColumns() + @property + def parentTableColumn(self) -> ConfigurationThemeColumn: + """ + Returns the column in the top table that references this custom theme table. + """ + return ConfigurationThemeColumn() + +class ConfigurationFeatureAspectBooleanCell(ConfigurationCell): + """ + This object represents a cell from a column that defines a configuration feature aspect with a Boolean value. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationFeatureAspectBooleanCell: + return ConfigurationFeatureAspectBooleanCell() + @property + def parentColumn(self) -> ConfigurationFeatureAspectColumn: + """ + Returns the column this cell is in. + """ + return ConfigurationFeatureAspectColumn() + @property + def value(self) -> bool: + """ + Gets and sets the value of the property associated with the parent column of this cell. + """ + return bool() + @value.setter + def value(self, value: bool): + """ + Gets and sets the value of the property associated with the parent column of this cell. + """ + pass + +class ConfigurationFeatureAspectColumn(ConfigurationColumn): + """ + Represents a feature aspect column in a configuration table. Feature aspects are properties + of a feature that are unique to a particular type of feature. This includes various thread + and joint settings. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationFeatureAspectColumn: + return ConfigurationFeatureAspectColumn() + def getCell(self, rowIndex: int) -> ConfigurationCell: + """ + Gets the cell in this column at the specified row. Depending on the type of data in the + cells within the column a ConfigurationFeatureAspectBooleanCell or ConfigurationFeatureAspectStringCell + will be returned. The first row has an index of 0 and does not include the header row. + rowIndex : The index of the row to return the cell for. The first row has an index of 0. + Returns the specified cell if successful and null if an invalid index was specified. + """ + return ConfigurationCell() + def getCellByRowName(self, rowName: str) -> ConfigurationCell: + """ + Gets the cell in this column at the row specified by its name. Depending on the type of data in the + cells within the column a ConfigurationFeatureAspectBooleanCell or ConfigurationFeatureAspectStringCell + will be returned. + rowName : The name of the row to return the cell for. + Returns the specified cell if successful and null if the name is not found. + """ + return ConfigurationCell() + def getCellByRowId(self, rowId: str) -> ConfigurationCell: + """ + This method returns the cell in this column at the row identified by its ID. Depending on the type of data in the + cells within the column, a ConfigurationFeatureAspectBooleanCell or ConfigurationFeatureAspectStringCell will be returned. + rowId : The ID of the row to return the cell for. + Returns the specified cell if successful and null if the id is not found. + """ + return ConfigurationCell() + @property + def feature(self) -> core.Base: + """ + Returns the feature being controlled by this column. + + This property returns null when the table being queried was obtained from a DataFile object. + """ + return core.Base() + @property + def aspectType(self) -> ConfigurationFeatureAspectTypes: + """ + Gets the type of feature aspect this column is controlling. + """ + return ConfigurationFeatureAspectTypes() + @property + def parentTable(self) -> ConfigurationTable: + """ + This property returns the parent table, either the top or custom theme table this column is in. + """ + return ConfigurationTable() + +class ConfigurationFeatureAspectStringCell(ConfigurationCell): + """ + Represents a cell from a column that defines a configuration feature aspect that is + a String value. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationFeatureAspectStringCell: + return ConfigurationFeatureAspectStringCell() + @property + def parentColumn(self) -> ConfigurationFeatureAspectColumn: + """ + Returns the column this cell is in. + """ + return ConfigurationFeatureAspectColumn() + @property + def value(self) -> str: + """ + Gets and sets the value of the property associated with the parent column of this cell. + """ + return str() + @value.setter + def value(self, value: str): + """ + Gets and sets the value of the property associated with the parent column of this cell. + """ + pass + +class ConfigurationFuture(core.Future): + """ + Used to check the state of the asynchronous configuration operation + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationFuture: + return ConfigurationFuture() + +class ConfigurationInsertCell(ConfigurationCell): + """ + Represents a single cell within a top or custom theme configuration table that controls which configuration is + used for an inserted configured design. Use the parent column to get the feature being suppressed. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationInsertCell: + return ConfigurationInsertCell() + @property + def parentColumn(self) -> ConfigurationInsertColumn: + """ + Returns the column this cell is in. + """ + return ConfigurationInsertColumn() + @property + def row(self) -> ConfigurationRow: + """ + Gets and sets which row of the configured design is used for this cell. When setting this property, + the row must come from the configured design used by the occurrence associated with the parent column of this cell. + """ + return ConfigurationRow() + @row.setter + def row(self, value: ConfigurationRow): + """ + Gets and sets which row of the configured design is used for this cell. When setting this property, + the row must come from the configured design used by the occurrence associated with the parent column of this cell. + """ + pass + +class ConfigurationInsertColumn(ConfigurationColumn): + """ + Represents a column where a configured design has been inserted in this design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationInsertColumn: + return ConfigurationInsertColumn() + def getCell(self, rowIndex: int) -> ConfigurationInsertCell: + """ + Gets the cell in this column at the specified row. The first row has an index of 0 and does not include the header row. + rowIndex : The index of the row to return the cell for. The first row has an index of 0. + Returns the specified cell if successful and null if an invalid index was specified. + """ + return ConfigurationInsertCell() + def getCellByRowName(self, rowName: str) -> ConfigurationInsertCell: + """ + Gets the cell in this column at the row specified by its name. + rowName : The name of the row to return the cell for. + Returns the specified cell if successful and null if the name is not found. + """ + return ConfigurationInsertCell() + def getCellByRowId(self, rowId: str) -> ConfigurationInsertCell: + """ + Gets the cell in this column at the row specified by its ID. + rowId : The ID of the row to return the cell for. + Returns the specified cell if successful and null if the name is not found. + """ + return ConfigurationInsertCell() + @property + def occurrence(self) -> Occurrence: + """ + Returns the occurrence that is associated with this configuration insertion. + + This property returns null when the table being queried was obtained from a DataFile object. + """ + return Occurrence() + @property + def parentTable(self) -> ConfigurationTable: + """ + Returns the parent table, either top or custom theme table, this column is in. + """ + return ConfigurationTable() + +class ConfigurationInsertStandardDesignCell(ConfigurationCell): + """ + Represents a single cell within a top or custom theme configuration table that controls which design is + used for an inserted standard design. Use the parent column to get the occurrence being modified. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationInsertStandardDesignCell: + return ConfigurationInsertStandardDesignCell() + @property + def parentColumn(self) -> ConfigurationInsertStandardDesignColumn: + """ + Returns the column this cell is in. + """ + return ConfigurationInsertStandardDesignColumn() + @property + def replaceDesign(self) -> ConfigurationReplaceDesign: + """ + Gets and sets which ConfigurationReplaceDesign object will be used when the row + this cell is in is active. When setting this property, only ConfigurationReplaceDesign objects + defined for the parent column of this cell can be used. + """ + return ConfigurationReplaceDesign() + @replaceDesign.setter + def replaceDesign(self, value: ConfigurationReplaceDesign): + """ + Gets and sets which ConfigurationReplaceDesign object will be used when the row + this cell is in is active. When setting this property, only ConfigurationReplaceDesign objects + defined for the parent column of this cell can be used. + """ + pass + +class ConfigurationInsertStandardDesignColumn(ConfigurationColumn): + """ + This object represents a column in the table that controls which design + should be referenced by an occurrence. The column contains a list of + designs that have been specified for that column. One of the designs is + specified for each cell in the column. That design will be referenced + by the occurrence when the row that cell is in is active. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationInsertStandardDesignColumn: + return ConfigurationInsertStandardDesignColumn() + def getCell(self, rowIndex: int) -> ConfigurationInsertStandardDesignCell: + """ + Gets the cell in this column at the specified row. The first row has an + index of 0 and does not include the header row. + rowIndex : The index of the row to return the cell for. The first row has an index of 0. + Returns the specified cell if successful and null if an invalid index was specified. + """ + return ConfigurationInsertStandardDesignCell() + def getCellByRowName(self, rowName: str) -> ConfigurationInsertStandardDesignCell: + """ + Gets the cell in this column at the row specified by its name. + rowName : The name of the row to return the cell for. + Returns the specified cell if successful and null if the name is not found. + """ + return ConfigurationInsertStandardDesignCell() + def getCellByRowId(self, rowId: str) -> ConfigurationInsertStandardDesignCell: + """ + Gets the cell in this column at the row specified by its ID. + rowId : The ID of the row to return the cell for. + Returns the specified cell if successful and null if the id is not found. + """ + return ConfigurationInsertStandardDesignCell() + @property + def occurrence(self) -> Occurrence: + """ + Returns the occurrence being controlled by this column. + + This property returns null when the table being queried was obtained from a DataFile object. + """ + return Occurrence() + @property + def replaceDesigns(self) -> ConfigurationReplaceDesigns: + """ + Provides access to the list of replace designs that have been defined for this column. Using + the returned collection you can define new ConfigurationReplaceDesign objects. Use the + cells in the column to specify which one of the defined replace designs is used for a specific row. + """ + return ConfigurationReplaceDesigns() + @property + def parentTable(self) -> ConfigurationTable: + """ + Returns the parent table this column is in. + """ + return ConfigurationTable() + +class ConfigurationJointSnapCell(ConfigurationCell): + """ + This object represents a joint snap that has been defined for a ConfigurationJointSnapColumn. + Joint snaps are defined on the parent column, and the cell specifies which of the defined + snaps will be used when the parent row of the cell is active. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationJointSnapCell: + return ConfigurationJointSnapCell() + @property + def parentColumn(self) -> ConfigurationJointSnapColumn: + """ + Returns the column this cell is in. + """ + return ConfigurationJointSnapColumn() + @property + def snap(self) -> ConfigurationJointSnap: + """ + Gets and sets which snap will be used when the row this cell is in is active. When + setting this property, only snaps defined for the parent column of this cell + can be used. + """ + return ConfigurationJointSnap() + @snap.setter + def snap(self, value: ConfigurationJointSnap): + """ + Gets and sets which snap will be used when the row this cell is in is active. When + setting this property, only snaps defined for the parent column of this cell + can be used. + """ + pass + +class ConfigurationMaterialCell(ConfigurationCell): + """ + Represents a single cell within a ConfigurationMaterialTable table that controls which + material is assigned to a component or body. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationMaterialCell: + return ConfigurationMaterialCell() + @property + def parentColumn(self) -> ConfigurationMaterialColumn: + """ + Returns the column this cell is in. + """ + return ConfigurationMaterialColumn() + @property + def material(self) -> core.Material: + """ + Gets and sets the material associated with this cell. When setting this property, + the material used must exist in the design. + """ + return core.Material() + @material.setter + def material(self, value: core.Material): + """ + Gets and sets the material associated with this cell. When setting this property, + the material used must exist in the design. + """ + pass + +class ConfigurationMaterialColumn(ConfigurationColumn): + """ + Represents a material column in the material table. This defines the material to use for a specific component. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationMaterialColumn: + return ConfigurationMaterialColumn() + def getCell(self, rowIndex: int) -> ConfigurationMaterialCell: + """ + Gets the cell in this column at the specified row. The first row has an + index of 0 and does not include the header row. + rowIndex : The index of the row to return the cell for. The first row has an index of 0. + Returns the specified cell if successful and null if an invalid index was specified. + """ + return ConfigurationMaterialCell() + def getCellByRowName(self, rowName: str) -> ConfigurationMaterialCell: + """ + Gets the cell in this column at the row specified by its name. + rowName : The name of the row to return the cell for. + Returns the specified cell if successful and null if the name is not found. + """ + return ConfigurationMaterialCell() + def getCellByRowId(self, rowId: str) -> ConfigurationMaterialCell: + """ + Gets the cell in this column at the row specified by its ID. + rowId : The ID of the row to return the cell for. + Returns the specified cell if successful and null if the id is not found. + """ + return ConfigurationMaterialCell() + @property + def entity(self) -> core.Base: + """ + Returns the Component or BRepBody being modified by this column. This property + returns null when the table being queried was obtained from a DataFile object. + """ + return core.Base() + @property + def parentMaterialTable(self) -> ConfigurationMaterialTable: + """ + Returns the parent material table this column is in. + """ + return ConfigurationMaterialTable() + +class ConfigurationMaterialTable(ConfigurationTable): + """ + Represents a configuration table that defines materials assigned to bodies and components. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationMaterialTable: + return ConfigurationMaterialTable() + def clear(self) -> bool: + """ + Clears the content of the material table, removes the reference from the top table, + and hides it in the user interface. + Returns true if successful. + """ + return bool() + @property + def columns(self) -> ConfigurationMaterialColumns: + """ + Returns the collection that provides access to the columns in this table. + """ + return ConfigurationMaterialColumns() + @property + def parentTableColumn(self) -> ConfigurationThemeColumn: + """ + Returns the column in the top table that references this material table. + """ + return ConfigurationThemeColumn() + @property + def name(self) -> str: + """ + Returns the name of the table as seen in the user interface. + """ + return str() + +class ConfigurationParameterCell(ConfigurationCell): + """ + Represents a single cell within a configuration table that controls the value of a parameter. + Get the parent column to get the parameter being controlled. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationParameterCell: + return ConfigurationParameterCell() + @property + def parentColumn(self) -> ConfigurationParameterColumn: + """ + Returns the column this cell is in. From the column, you can get the parameter object being controlled. + """ + return ConfigurationParameterColumn() + @property + def expression(self) -> str: + """ + Gets and sets the expression that defines the value of the associated parameter when the parent row + is active. This property behaves as read-only when the table is obtained from a DataFile object. + """ + return str() + @expression.setter + def expression(self, value: str): + """ + Gets and sets the expression that defines the value of the associated parameter when the parent row + is active. This property behaves as read-only when the table is obtained from a DataFile object. + """ + pass + @property + def value(self) -> float: + """ + Gets and sets the value of the parameter in database units. You can use the units property of the associated + Parameter object, which you can get from the column, to determine the type of units this parameter is + defined in. Setting this property will overwrite any existing expression. This property behaves as read-only + when the table is obtained from a DataFile object. + """ + return float() + @value.setter + def value(self, value: float): + """ + Gets and sets the value of the parameter in database units. You can use the units property of the associated + Parameter object, which you can get from the column, to determine the type of units this parameter is + defined in. Setting this property will overwrite any existing expression. This property behaves as read-only + when the table is obtained from a DataFile object. + """ + pass + +class ConfigurationParameterColumn(ConfigurationColumn): + """ + Represents a parameter column in a top or custom theme configuration table. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationParameterColumn: + return ConfigurationParameterColumn() + def getCell(self, rowIndex: int) -> ConfigurationParameterCell: + """ + Gets the cell in this column at the specified row. The first row has an index of 0 and does not include the header row. + rowIndex : The index of the row to return the cell for. The first row has an index of 0. + Returns the specified cell if successful and null if an invalid index was specified. + """ + return ConfigurationParameterCell() + def getCellByRowName(self, rowName: str) -> ConfigurationParameterCell: + """ + Gets the cell in this column at the row specified by its name. + rowName : The name of the row to return the cell for. + Returns the specified cell if successful and null if the name is not found. + """ + return ConfigurationParameterCell() + def getCellByRowId(self, rowId: str) -> ConfigurationParameterCell: + """ + Gets the cell in this column at the row specified by its ID. + rowId : The ID of the row to return the cell for. + Returns the specified cell if successful and null if the id is not found. + """ + return ConfigurationParameterCell() + @property + def parameter(self) -> Parameter: + """ + Returns the parameter being controlled by this column. + + This property returns null when the table being queried was obtained from a DataFile object. + """ + return Parameter() + @property + def parentTable(self) -> ConfigurationTable: + """ + Returns the parent table, either top or custom theme table, this column is in. + """ + return ConfigurationTable() + +class ConfigurationPlasticRuleCell(ConfigurationCell): + """ + Represents a single cell within a configuration table that controls which sheet plastic rule is assigned to a component. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationPlasticRuleCell: + return ConfigurationPlasticRuleCell() + @property + def parentColumn(self) -> ConfigurationPlasticRuleColumn: + """ + Returns the column this cell is in. + """ + return ConfigurationPlasticRuleColumn() + @property + def plasticRule(self) -> PlasticRule: + """ + Gets and sets the plastic rule defined for this cell. + """ + return PlasticRule() + @plasticRule.setter + def plasticRule(self, value: PlasticRule): + """ + Gets and sets the plastic rule defined for this cell. + """ + pass + +class ConfigurationPlasticRuleColumn(ConfigurationColumn): + """ + Represents a plastic rule column in a configuration table. This defines the plastic rule to use for a specific component. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationPlasticRuleColumn: + return ConfigurationPlasticRuleColumn() + def getCell(self, rowIndex: int) -> ConfigurationPlasticRuleCell: + """ + Gets the cell in this column at the specified row. The first row has an index of 0 and does not include the header row. + rowIndex : The index of the row to return the cell for. The first row has an index of 0. + Returns the specified cell if successful and null if an invalid index was specified. + """ + return ConfigurationPlasticRuleCell() + def getCellByRowName(self, rowName: str) -> ConfigurationPlasticRuleCell: + """ + Gets the cell in this column at the row specified by its name. + rowName : The name of the row to return the cell for. + Returns the specified cell if successful and null if the name is not found. + """ + return ConfigurationPlasticRuleCell() + def getCellByRowId(self, rowId: str) -> ConfigurationPlasticRuleCell: + """ + Gets the cell in this column at the row specified by its ID. + rowId : The ID of the row to return the cell for. + Returns the specified cell if successful and null if the id is not found. + """ + return ConfigurationPlasticRuleCell() + @property + def component(self) -> Component: + """ + Returns the Component being modified by this column. This property + returns null when the table being queried was obtained from a DataFile object. + """ + return Component() + @property + def parentPlasticRuleTable(self) -> ConfigurationPlasticRuleTable: + """ + Returns the parent plastic rule table this column is in. + """ + return ConfigurationPlasticRuleTable() + +class ConfigurationPlasticRuleTable(ConfigurationTable): + """ + Represents a configuration table that defines different plastic rules. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationPlasticRuleTable: + return ConfigurationPlasticRuleTable() + def clear(self) -> bool: + """ + Clears the content of the plastic rule table, removes the reference from + the top table, and hides it in the user interface. + Returns true if successful. + """ + return bool() + @property + def columns(self) -> ConfigurationPlasticRuleColumns: + """ + Returns the collection that provides access to the columns in this table. + """ + return ConfigurationPlasticRuleColumns() + @property + def parentTableColumn(self) -> ConfigurationThemeColumn: + """ + Returns the column in the top table that references this plastic rule table. + """ + return ConfigurationThemeColumn() + @property + def name(self) -> str: + """ + Returns the name of the table as seen in the user interface. + """ + return str() + +class ConfigurationPropertyCell(ConfigurationCell): + """ + Represents an individual cell within a configuration table that defines + the value of a property. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationPropertyCell: + return ConfigurationPropertyCell() + @property + def parentColumn(self) -> ConfigurationPropertyColumn: + """ + Returns the column this cell is in. + """ + return ConfigurationPropertyColumn() + @property + def value(self) -> str: + """ + Gets and sets the value of the property associated with the parent column of this cell. + """ + return str() + @value.setter + def value(self, value: str): + """ + Gets and sets the value of the property associated with the parent column of this cell. + """ + pass + +class ConfigurationPropertyColumn(ConfigurationColumn): + """ + Represents a property column in a configuration table. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationPropertyColumn: + return ConfigurationPropertyColumn() + def getCell(self, rowIndex: int) -> ConfigurationPropertyCell: + """ + Gets the cell in this column at the specified row. The first row has an index of 0 and does not include the header row. + rowIndex : The index of the row to return the cell for. The first row has an index of 0. + Returns the specified cell if successful and null if an invalid index was specified. + """ + return ConfigurationPropertyCell() + def getCellByRowName(self, rowName: str) -> ConfigurationPropertyCell: + """ + Gets the cell in this column at the row specified by its name. + rowName : The name of the row to return the cell for. + Returns the specified cell if successful and null if the name is not found. + """ + return ConfigurationPropertyCell() + def getCellByRowId(self, rowId: str) -> ConfigurationPropertyCell: + """ + Gets the cell in this column at the row specified by its ID. + rowId : The ID of the row to return the cell for. + Returns the specified cell if successful and null if the id is not found. + """ + return ConfigurationPropertyCell() + @property + def parentProperty(self) -> core.Property: + """ + Returns the property whose value is controlled by this column. + """ + return core.Property() + @property + def parentTable(self) -> ConfigurationTable: + """ + Returns the parent table this column is in. + """ + return ConfigurationTable() + +class ConfigurationSheetMetalRuleCell(ConfigurationCell): + """ + Represents a single cell within a configuration table that controls which sheet metal rule is assigned to a component. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationSheetMetalRuleCell: + return ConfigurationSheetMetalRuleCell() + @property + def parentColumn(self) -> ConfigurationSheetMetalRuleColumn: + """ + Returns the column this cell is in. + """ + return ConfigurationSheetMetalRuleColumn() + @property + def sheetMetalRule(self) -> SheetMetalRule: + """ + Gets and sets the sheet metal rule defined for this cell. + """ + return SheetMetalRule() + @sheetMetalRule.setter + def sheetMetalRule(self, value: SheetMetalRule): + """ + Gets and sets the sheet metal rule defined for this cell. + """ + pass + +class ConfigurationSheetMetalRuleColumn(ConfigurationColumn): + """ + Represents a sheet metal rule column in a configuration table. This defines the sheet metal rule to use for a specific component. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationSheetMetalRuleColumn: + return ConfigurationSheetMetalRuleColumn() + def getCell(self, rowIndex: int) -> ConfigurationSheetMetalRuleCell: + """ + Gets the cell in this column at the specified row. The first row has an index of 0 and does not include the header row. + rowIndex : The index of the row to return the cell for. The first row has an index of 0. + Returns the specified cell if successful and null if an invalid index was specified. + """ + return ConfigurationSheetMetalRuleCell() + def getCellByRowName(self, rowName: str) -> ConfigurationSheetMetalRuleCell: + """ + Gets the cell in this column at the row specified by its name. + rowName : The name of the row to return the cell for. + Returns the specified cell if successful and null if the name is not found. + """ + return ConfigurationSheetMetalRuleCell() + def getCellByRowId(self, rowId: str) -> ConfigurationSheetMetalRuleCell: + """ + Gets the cell in this column at the row specified by its ID. + rowId : The ID of the row to return the cell for. + Returns the specified cell if successful and null if the id is not found. + """ + return ConfigurationSheetMetalRuleCell() + @property + def component(self) -> Component: + """ + Returns the Component being modified by this column. This property + returns null when the table being queried was obtained from a DataFile object. + """ + return Component() + @property + def componentName(self) -> str: + """ + Returns the name of the component associated with this column. This is useful when + the table is obtained from a DataFile object, and the component object is unavailable. + """ + return str() + @property + def parentSheetMetalRuleTable(self) -> ConfigurationSheetMetalRuleTable: + """ + Returns the parent sheet metal rule table this column is in. + """ + return ConfigurationSheetMetalRuleTable() + +class ConfigurationSheetMetalRuleTable(ConfigurationTable): + """ + Represents a configuration table that defines different sheet metal rules. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationSheetMetalRuleTable: + return ConfigurationSheetMetalRuleTable() + def clear(self) -> bool: + """ + Clears the content of the sheet metal rule table, removes the reference from the top table, and hides it in the user interface. + Returns true if successful. + """ + return bool() + @property + def columns(self) -> ConfigurationSheetMetalRuleColumns: + """ + Returns the collection that provides access to the columns in this table. + """ + return ConfigurationSheetMetalRuleColumns() + @property + def parentTableColumn(self) -> ConfigurationThemeColumn: + """ + Returns the column in the top table that references this sheet metal rule table. + """ + return ConfigurationThemeColumn() + @property + def name(self) -> str: + """ + Returns the name of the table as seen in the user interface. + """ + return str() + +class ConfigurationSuppressCell(ConfigurationCell): + """ + Represents a single cell within a configuration table that controls if a feature is suppressed. + Get the parent column to get the feature being suppressed. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationSuppressCell: + return ConfigurationSuppressCell() + @property + def parentColumn(self) -> ConfigurationSuppressColumn: + """ + Returns the column this cell is in. + """ + return ConfigurationSuppressColumn() + @property + def isSuppressed(self) -> bool: + """ + Specifies if the feature is suppressed or not. This property behaves as read-only when the table is obtained from a DataFile. + """ + return bool() + @isSuppressed.setter + def isSuppressed(self, value: bool): + """ + Specifies if the feature is suppressed or not. This property behaves as read-only when the table is obtained from a DataFile. + """ + pass + +class ConfigurationSuppressColumn(ConfigurationColumn): + """ + Represents a suppress column in a top or custom theme configuration table. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationSuppressColumn: + return ConfigurationSuppressColumn() + def getCell(self, rowIndex: int) -> ConfigurationSuppressCell: + """ + Gets the cell in this column at the specified row. The first row has an index of 0 and does not include the header row. + rowIndex : The index of the row to return the cell for. The first row has an index of 0. + Returns the specified cell if successful and null if an invalid index was specified. + """ + return ConfigurationSuppressCell() + def getCellByRowName(self, rowName: str) -> ConfigurationSuppressCell: + """ + Gets the cell in this column at the row specified by its name. + rowName : The name of the row to return the cell for. + Returns the specified cell if successful and null if the name is not found. + """ + return ConfigurationSuppressCell() + def getCellByRowId(self, rowId: str) -> ConfigurationSuppressCell: + """ + Gets the cell in this column at the row specified by its ID. + rowId : The ID of the row to return the cell for. + Returns the specified cell if successful and null if the name is not found. + """ + return ConfigurationSuppressCell() + @property + def feature(self) -> core.Base: + """ + Returns the feature whose suppression state is being controlled by this column. + The term "feature" is used broadly and includes anything displayed in the timeline. + + This property returns null when the table being queried was obtained from a DataFile object. + """ + return core.Base() + @property + def parentTable(self) -> ConfigurationTable: + """ + Returns the parent table, either top or custom theme table, this column is in. + """ + return ConfigurationTable() + +class ConfigurationThemeCell(ConfigurationCell): + """ + Represents an individual cell within a top configuration table that specifies which row in the custom theme table should be used. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationThemeCell: + return ConfigurationThemeCell() + @property + def parentColumn(self) -> ConfigurationThemeColumn: + """ + Returns the column this cell is in. + """ + return ConfigurationThemeColumn() + @property + def referencedTableRow(self) -> ConfigurationRow: + """ + Gets and sets the row to use from the referenced table. + """ + return ConfigurationRow() + @referencedTableRow.setter + def referencedTableRow(self, value: ConfigurationRow): + """ + Gets and sets the row to use from the referenced table. + """ + pass + +class ConfigurationThemeColumn(ConfigurationColumn): + """ + Represents a theme table column in a top configuration table. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationThemeColumn: + return ConfigurationThemeColumn() + def getCell(self, rowIndex: int) -> ConfigurationThemeCell: + """ + Gets the cell in this column at the specified row index. The first row has an index of 0 and does not include the header row. + rowIndex : The index of the row to return the cell for. The first row has an index of 0. + Returns the specified cell if successful and null if an invalid index was specified. + """ + return ConfigurationThemeCell() + def getCellByRowName(self, rowName: str) -> ConfigurationThemeCell: + """ + Gets the cell in this column at the row specified by its name. + rowName : The name of the row to return the cell for. + Returns the specified cell if successful and null if the name is not found. + """ + return ConfigurationThemeCell() + def getCellByRowId(self, rowId: str) -> ConfigurationThemeCell: + """ + Gets the cell in this column at the row specified by its ID. + rowId : The ID of the row to return the cell for. + Returns the specified cell if successful and null if the id is not found. + """ + return ConfigurationThemeCell() + @property + def referencedTable(self) -> ConfigurationTable: + """ + Returns the theme table that this column references. + """ + return ConfigurationTable() + @property + def parentTable(self) -> ConfigurationTable: + """ + Returns the parent table this column is in. + """ + return ConfigurationTable() + +class ConfigurationTopTable(ConfigurationTable): + """ + API object representing the top configuration table associated with a configured design. + + When obtained from the DataFile object of a configured design, the functionality is limited because it's not + loaded in Fusion, and there is no access to the Fusion objects represented in the table. For example, any + properties that return a Component or Parameter will return null because those objects aren't available. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationTopTable: + return ConfigurationTopTable() + def moveColumns(self, columns: list[ConfigurationColumn], targetTable: ConfigurationCustomThemeTable) -> list[ConfigurationColumn]: + """ + Moves the specified columns from one table to another. + columns : An array of the columns within the top table you want to move. + targetTable : The table you want to move the columns to. The target must be a custom theme table. + Returns an array of the columns created due to the move. + """ + return [ConfigurationColumn()] + @property + def name(self) -> str: + """ + Gets the name of the table as seen in the user interface. + """ + return str() + @property + def columns(self) -> ConfigurationColumns: + """ + Returns the columns defined for this table and provides the functionality to create new columns. + """ + return ConfigurationColumns() + @property + def activeRow(self) -> ConfigurationRow: + """ + Returns the row that is currently active. To set the active row, use the activate method on the + ConfigurationRow object. + """ + return ConfigurationRow() + @property + def customThemeTables(self) -> ConfigurationCustomThemeTables: + """ + Returns any custom theme tables associated with this top table. + """ + return ConfigurationCustomThemeTables() + @property + def appearanceTable(self) -> ConfigurationAppearanceTable: + """ + Returns the appearance table associated with this top table. The returned table can be empty + and not have any columns. In this case, the table is not displayed in the user interface. + Use the returned table to add columns. + """ + return ConfigurationAppearanceTable() + @property + def materialTable(self) -> ConfigurationMaterialTable: + """ + Returns the material table associated with this top table. The returned table can be empty + and not have any columns. In this case, the table is not displayed in the user interface. + Use the returned table to add columns. + """ + return ConfigurationMaterialTable() + @property + def plasticRuleTable(self) -> ConfigurationPlasticRuleTable: + """ + Returns the plastic rule table associated with this top table. The returned table can be + empty and not have any columns. In this case, the table is not displayed in the user interface. + Use the returned table to add columns. + """ + return ConfigurationPlasticRuleTable() + @property + def sheetMetalRuleTable(self) -> ConfigurationSheetMetalRuleTable: + """ + Returns the sheet metal rule table associated with this top table. The returned table can be + empty and not have any columns. In this case, the table is not displayed in the user interface. + Use the returned table to add columns. + """ + return ConfigurationSheetMetalRuleTable() + +class ConfigurationVisibilityCell(ConfigurationCell): + """ + Represents a single cell within a configuration table that controls whether an entity is visible. Get the parent column to get the entity. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationVisibilityCell: + return ConfigurationVisibilityCell() + @property + def parentColumn(self) -> ConfigurationVisibilityColumn: + """ + Returns the column this cell is in. + """ + return ConfigurationVisibilityColumn() + @property + def isVisible(self) -> bool: + """ + Specifies if the entity is visible or not. This property behaves as read-only when the table is obtained from a DataFile. + """ + return bool() + @isVisible.setter + def isVisible(self, value: bool): + """ + Specifies if the entity is visible or not. This property behaves as read-only when the table is obtained from a DataFile. + """ + pass + +class ConfigurationVisibilityColumn(ConfigurationColumn): + """ + Represents a visibility column in a top or custom theme configuration table. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationVisibilityColumn: + return ConfigurationVisibilityColumn() + def getCell(self, rowIndex: int) -> ConfigurationVisibilityCell: + """ + Gets the cell in this column at the specified row. The first row has an index of 0 and does not include the header row. + rowIndex : The index of the row to return the cell for. The first row has an index of 0. + Returns the specified cell if successful and null if an invalid index was specified. + """ + return ConfigurationVisibilityCell() + def getCellByRowName(self, rowName: str) -> ConfigurationVisibilityCell: + """ + Gets the cell in this column at the row specified by its name. + rowName : The name of the row to return the cell for. + Returns the specified cell if successful and null if the name is not found. + """ + return ConfigurationVisibilityCell() + def getCellByRowId(self, rowId: str) -> ConfigurationVisibilityCell: + """ + Gets the cell in this column at the row specified by its ID. + rowId : The ID of the row to return the cell for. + Returns the specified cell if successful and null if the id is not found. + """ + return ConfigurationVisibilityCell() + @property + def entity(self) -> core.Base: + """ + Returns the entity whose visibility is being controlled by this column. + + This property returns null when the table being queried was obtained from a DataFile object. + """ + return core.Base() + @property + def parentTable(self) -> ConfigurationTable: + """ + Returns the parent table, either top or custom theme table, this column is in. + """ + return ConfigurationTable() + +class ConstantRadiusFilletEdgeSet(FilletEdgeSet): + """ + Provides access to the edges and the parameter associated with a constant radius fillet. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConstantRadiusFilletEdgeSet: + return ConstantRadiusFilletEdgeSet() + @property + def edges(self) -> core.ObjectCollection: + """ + 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) + """ + return core.ObjectCollection() + @edges.setter + def edges(self, value: core.ObjectCollection): + """ + 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) + """ + pass + @property + def radius(self) -> ModelParameter: + """ + Returns the model parameter that controls the radius of the fillet. You can edit + the radius by using the properties on the returned ModelParameter object. + """ + 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 + all construction planes will return this type of definition regardless of how they + were initially created. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConstructionAxisByLineDefinition: + return ConstructionAxisByLineDefinition() + @property + def axis(self) -> core.InfiniteLine3D: + """ + Gets and sets the infinite line that defines the position and direction of the axis + """ + return core.InfiniteLine3D() + @axis.setter + def axis(self, value: core.InfiniteLine3D): + """ + Gets and sets the infinite line that defines the position and direction of the axis + """ + pass + +class ConstructionAxisCircularFaceDefinition(ConstructionAxisDefinition): + """ + The definition for a parametric construction axis created using the SetbyCircularFace method + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConstructionAxisCircularFaceDefinition: + return ConstructionAxisCircularFaceDefinition() + @property + def circularFace(self) -> BRepFace: + """ + Gets and sets the cylinder, cone, or torus this work axis + is parametrically dependent on. + """ + return BRepFace() + @circularFace.setter + def circularFace(self, value: BRepFace): + """ + Gets and sets the cylinder, cone, or torus this work axis + is parametrically dependent on. + """ + pass + +class ConstructionAxisEdgeDefinition(ConstructionAxisDefinition): + """ + The definition for a parametric construction axis created using the SetbyEdge method + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConstructionAxisEdgeDefinition: + return ConstructionAxisEdgeDefinition() + @property + def edgeEntity(self) -> core.Base: + """ + Gets and sets the linear edge, construction line, or sketch line that defines + the construction axis. + """ + return core.Base() + @edgeEntity.setter + def edgeEntity(self, value: core.Base): + """ + Gets and sets the linear edge, construction line, or sketch line that defines + the construction axis. + """ + pass + +class ConstructionAxisNormalToFaceAtPointDefinition(ConstructionAxisDefinition): + """ + The definition for a parametric construction axis created using the + SetByNormalToFaceAtPoint method + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConstructionAxisNormalToFaceAtPointDefinition: + return ConstructionAxisNormalToFaceAtPointDefinition() + def redefine(self, face: core.Base, pointEntity: core.Base) -> bool: + """ + Redefines the input geometry of the construction axis. + face : The face the axis is normal to + pointEntity : The point that positions the axis + Returns true if the redefinition of the construction axis is successful. + """ + return bool() + @property + def face(self) -> core.Base: + """ + Gets the face the axis is normal to + """ + return core.Base() + @property + def pointEntity(self) -> core.Base: + """ + Gets the point that positions the axis + """ + return core.Base() + +class ConstructionAxisPerpendicularAtPointDefinition(ConstructionAxisDefinition): + """ + The definition for a parametric construction axis created using the + SetByPerpendicularAtPoint method + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConstructionAxisPerpendicularAtPointDefinition: + return ConstructionAxisPerpendicularAtPointDefinition() + def redefine(self, face: BRepFace, pointEntity: core.Base) -> bool: + """ + Redefines the input geometry of the construction axis. + face : The face (BRepFace object) to create the axis perpendicular to. + pointEntity : The point (sketch point, vertex, construction point) used to position the axis. + Returns true if the redefinition of the axis is successful. + """ + return bool() + @property + def face(self) -> BRepFace: + """ + Returns the face the construction axis is perpendicular to. + """ + return BRepFace() + @property + def point(self) -> core.Base: + """ + Returns the point (construction or sketch point) that positions the axis. + """ + return core.Base() + +class ConstructionAxisTwoPlaneDefinition(ConstructionAxisDefinition): + """ + The definition for a parametric construction axis created using the SetByTwoPlanes method + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConstructionAxisTwoPlaneDefinition: + return ConstructionAxisTwoPlaneDefinition() + def redefine(self, planarEntityOne: core.Base, planarEntityTwo: core.Base) -> bool: + """ + Redefines the input geometry of the construction axis. + planarEntityOne : The first planar face or construction plane + planarEntityTwo : The second planar face or construction plane + Returns true if the redefinition of the axis is successful. + """ + return bool() + @property + def planarEntityOne(self) -> core.Base: + """ + Gets the first planar face or construction plane + """ + return core.Base() + @property + def planarEntityTwo(self) -> core.Base: + """ + Gets the second planar face or construction plane + """ + return core.Base() + +class ConstructionAxisTwoPointDefinition(ConstructionAxisDefinition): + """ + The definition for a parametric construction axis created using the SetbyTwoPoints method + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConstructionAxisTwoPointDefinition: + return ConstructionAxisTwoPointDefinition() + def redefine(self, pointEntityOne: core.Base, pointEntityTwo: core.Base) -> bool: + """ + Redefines the input geometry of the construction axis. + pointEntityOne : The first point + pointEntityTwo : The second point + Returns true if the redefinition of the construction axis is successful. + """ + return bool() + @property + def pointEntityOne(self) -> core.Base: + """ + Gets the first point. + """ + return core.Base() + @property + def pointEntityTwo(self) -> core.Base: + """ + Gets the second point. + """ + return core.Base() + +class ConstructionPlaneAtAngleDefinition(ConstructionPlaneDefinition): + """ + ConstructionPlaneAtAngleDefinition defines a ConstructionPlane by an angle around + a linear entity. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConstructionPlaneAtAngleDefinition: + return ConstructionPlaneAtAngleDefinition() + def redefine(self, angle: core.ValueInput, linearEntity: core.Base, planarEntity: core.Base) -> bool: + """ + Redefines the input geometry of the construction plane. + angle : A ValueInput object that defines the angle at which to create the construction plane + linearEntity : The linear edge, construction line, or sketch line that defines the axis of rotation to + measure the angle about + planarEntity : A plane, planar face or construction plane the angle of the construction plane is + measured from + Returns true if the redefinition of the plane is successful. + """ + return bool() + @property + def angle(self) -> Parameter: + """ + Returns a Parameter object that controls the value of the angle. You can use properties + of the returned Parameter object to modify the angle. + """ + return Parameter() + @property + def linearEntity(self) -> core.Base: + """ + Gets the linear edge, construction line, or sketch line that defines + the axis of rotation for the construction plane. + """ + return core.Base() + @property + def planarEntity(self) -> core.Base: + """ + Gets the planar face or construction plane the angle for this + construction plane is measured from and is parametrically dependent on. + + This property is only valid for construction planes that were created using + the API. When an angle construction plane is created using the user interface + the plane is not defined by the user and a plane is automatically inferred by + Fusion. In this case, this property will return null. + """ + return core.Base() + +class ConstructionPlaneByPlaneDefinition(ConstructionPlaneDefinition): + """ + The definition for a non-parametric construction plane. All constructions planes will + return this type of definition regardless of method used to initially create them. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConstructionPlaneByPlaneDefinition: + return ConstructionPlaneByPlaneDefinition() + @property + def plane(self) -> core.Plane: + """ + Gets and sets the position of the construction plane. Setting this property + is only valid for a construction plane in a direct edit design or in a base feature. + Construction planes in a parametric model are parametrically controlled and cannot + be directly edited. + """ + return core.Plane() + @plane.setter + def plane(self, value: core.Plane): + """ + Gets and sets the position of the construction plane. Setting this property + is only valid for a construction plane in a direct edit design or in a base feature. + Construction planes in a parametric model are parametrically controlled and cannot + be directly edited. + """ + pass + +class ConstructionPlaneDistanceOnPathDefinition(ConstructionPlaneDefinition): + """ + ConstructionDistanceOnPathDefinition defines a ConstructionPlane normal to an edge or + sketch profile at a specified position along the path defined by the edge or sketch profile. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConstructionPlaneDistanceOnPathDefinition: + return ConstructionPlaneDistanceOnPathDefinition() + def redefine(self, pathEntity: core.Base, distance: core.ValueInput) -> bool: + """ + Redefines the input defining the construction plane. + pathEntity : The sketch curve, edge, or a profile object + distance : The ValueInput object that defines the distance along the path + Returns true if the redefinition of the plane is successful. + """ + return bool() + @property + def pathEntity(self) -> core.Base: + """ + Gets the sketch curve, edge, or a profile object. + """ + return core.Base() + @property + def distance(self) -> Parameter: + """ + Gets the distance along the path. + """ + return Parameter() + +class ConstructionPlaneMidplaneDefinition(ConstructionPlaneDefinition): + """ + ConstructionPlaneMidplaneDefinition defines a ConstructionPlane by... + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConstructionPlaneMidplaneDefinition: + return ConstructionPlaneMidplaneDefinition() + def redefine(self, planarEntityOne: core.Base, planarEntityTwo: core.Base) -> bool: + """ + Redefines the input geometry of the construction plane. + planarEntityOne : The first planar face or construction plane that defines this ConstructionPlane. + planarEntityTwo : The second planar face or construction plane that defines this ConstructionPlane. + Returns true if the redefinition of the plane is successful. + """ + return bool() + @property + def planarEntityOne(self) -> core.Base: + """ + Gets the first planar face or construction plane that defines this ConstructionPlane. + """ + return core.Base() + @property + def planarEntityTwo(self) -> core.Base: + """ + Gets the second planar face or construction plane that defines this ConstructionPlane. + """ + return core.Base() + +class ConstructionPlaneOffsetDefinition(ConstructionPlaneDefinition): + """ + ConstructionPlaneOffsetDefinition defines a construction plane that is offset by a specified + distance from a planar face or construction plane by a specified distance. A positive or negative + value can control the direction of the offset. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConstructionPlaneOffsetDefinition: + return ConstructionPlaneOffsetDefinition() + def redefine(self, offset: core.ValueInput, planarEntity: core.Base) -> bool: + """ + Redefines the input geometry of the construction plane. + offset : ValueInput object that specifies the offset distance + planarEntity : A plane, planar face or construction plane from which to measure the offset from + Returns true is the operation is successful + """ + return bool() + @property + def offset(self) -> Parameter: + """ + Returns a Parameter object that controls the value of the offset. You can use properties + of the returned Parameter object to modify the offset. + """ + return Parameter() + @property + def planarEntity(self) -> core.Base: + """ + Gets the planar face or construction plane this construction plane + is parametrically dependent on. + """ + return core.Base() + +class ConstructionPlaneOffsetThroughPointDefinition(ConstructionPlaneDefinition): + """ + Defines a construction plane that is offset from a planar face or construction plane + and whose offset distance is defined by a vertex, sketch point, or construction point where + the plane passes through the point. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConstructionPlaneOffsetThroughPointDefinition: + return ConstructionPlaneOffsetThroughPointDefinition() + def redefine(self, planarEntity: core.Base, point: core.Base) -> bool: + """ + Redefines the input geometry of the construction plane. + planarEntity : A planar BRepFace or ConstructionPlane that the new construction plane will be offset from. + point : A BRepVertex, SketchPoint, or ConstructionPoint that defines the offset distance. + Returns true is the operation is successful + """ + return bool() + @property + def point(self) -> core.Base: + """ + Returns the point that controls the offset. + """ + return core.Base() + @property + def planarEntity(self) -> core.Base: + """ + Returns the planar face or construction plane this construction plane + is parametrically dependent on. + """ + return core.Base() + +class ConstructionPlaneTangentAtPointDefinition(ConstructionPlaneDefinition): + """ + ConstructionPlaneTangentAtPointDefinition defines a ConstructionPlane tangent to a + face and aligned to a point. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConstructionPlaneTangentAtPointDefinition: + return ConstructionPlaneTangentAtPointDefinition() + def redefine(self, tangentFace: core.Base, pointEntity: core.Base) -> bool: + """ + Redefines the input geometry of the construction plane. + tangentFace : The face to create the plane tangent to + pointEntity : The point (sketch point, vertex, construction point) used to align the plane. + Returns true if the redefinition of the plane is successful. + """ + return bool() + @property + def tangentFace(self) -> BRepFace: + """ + Gets the tangent face. + """ + return BRepFace() + @property + def pointEntity(self) -> core.Base: + """ + Gets the point (sketch point, vertex, construction point) used to align the plane. + """ + return core.Base() + +class ConstructionPlaneTangentDefinition(ConstructionPlaneDefinition): + """ + ConstructionPlaneTangentDefinition defines a ConstructionPlane tangent to a cylindrical or conical + face at a point. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConstructionPlaneTangentDefinition: + return ConstructionPlaneTangentDefinition() + def redefine(self, angle: core.ValueInput, tangentFace: core.Base, planarEntity: core.Base) -> bool: + """ + Redefines the input geometry of the construction plane. + angle : A Value object that defines the angle of the construction plane + tangentFace : The cylindrical or conical face that the construction plane is tangent to. + planarEntity : The planar face or construction plane the angle for this + construction plane is measured from + Returns true if the redefinition of the plane is successful. + """ + return bool() + @property + def angle(self) -> Parameter: + """ + Returns a Value object that for a transient definition provides the current + assigned value. For a definition associated with a construction plane, it + provides access to the associated parameter controlling the angle. + """ + return Parameter() + @property + def tangentFace(self) -> core.Base: + """ + Gets the cylindrical or conical face that the construction plane + is tangent to. + """ + return core.Base() + @property + def planarEntity(self) -> core.Base: + """ + Gets the planar face or construction plane the angle for this + construction plane is measured from and is parametrically dependent on. + """ + return core.Base() + +class ConstructionPlaneThreePointsDefinition(ConstructionPlaneDefinition): + """ + ConstructionPlaneThreePointDefinition defines a ConstructionPlane by 3 point entities + (e.g. (sketch points, vertices or construction points) that form a triangle (i.e. + no two points the same and they aren't collinear). + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConstructionPlaneThreePointsDefinition: + return ConstructionPlaneThreePointsDefinition() + def redefine(self, pointEntityOne: core.Base, pointEntityTwo: core.Base, pointEntityThree: core.Base) -> bool: + """ + Redefines the input geometry of the construction plane. + pointEntityOne : Gets the first construction point, sketch point or vertex. + pointEntityTwo : Gets the second construction point, sketch point or vertex. + pointEntityThree : Gets the third construction point, sketch point or vertex. + Returns true if the redefinition of the plane is successful. + """ + return bool() + @property + def pointEntityOne(self) -> core.Base: + """ + Gets the first construction point, sketch point or vertex. + """ + return core.Base() + @property + def pointEntityTwo(self) -> core.Base: + """ + Gets the second construction point, sketch point or vertex. + """ + return core.Base() + @property + def pointEntityThree(self) -> core.Base: + """ + Gets the third construction point, sketch point or vertex. + """ + return core.Base() + +class ConstructionPlaneTwoEdgesDefinition(ConstructionPlaneDefinition): + """ + ConstructionPlaneTwoEdgesDefinition defines a ConstructionPlane by two co-planar + linear entities like edges, sketch lines or construction axis. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConstructionPlaneTwoEdgesDefinition: + return ConstructionPlaneTwoEdgesDefinition() + def redefine(self, linearEntityOne: core.Base, linearEntityTwo: core.Base) -> bool: + """ + Redefines the input geometry of the construction plane. + linearEntityOne : The first linear edge, construction line, or sketch line that defines + the construction plane. + linearEntityTwo : The second linear edge, construction line, or sketch line that defines + the construction plane. + Returns true if successful. + """ + return bool() + @property + def linearEntityOne(self) -> core.Base: + """ + Gets the first linear edge, construction line, or sketch line that defines + the construction plane. + """ + return core.Base() + @property + def linearEntityTwo(self) -> core.Base: + """ + Gets the second linear edge, construction line, or sketch line that defines + the construction plane. + """ + return core.Base() + +class ConstructionPointCenterDefinition(ConstructionPointDefinition): + """ + The definition for a parametric construction point created using the SetbyCenter method + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConstructionPointCenterDefinition: + return ConstructionPointCenterDefinition() + @property + def circularEntity(self) -> core.Base: + """ + Gets and sets the spherical face (sphere or torus), circular edge or sketch arc/circle + whose center defines the location for the construction point. + """ + return core.Base() + @circularEntity.setter + def circularEntity(self, value: core.Base): + """ + Gets and sets the spherical face (sphere or torus), circular edge or sketch arc/circle + whose center defines the location for the construction point. + """ + pass + +class ConstructionPointEdgePlaneDefinition(ConstructionPointDefinition): + """ + The definition for a parametric construction point created using the SetbyEdgePlane method + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConstructionPointEdgePlaneDefinition: + return ConstructionPointEdgePlaneDefinition() + def redefine(self, edge: core.Base, plane: core.Base) -> bool: + """ + Redefines the input geometry of the construction point. + edge : A linear B-Rep edge, construction axis or sketch line. + plane : A plane, planar B-Rep face or construction plane. + Returns true if the redefinition of the Construction Point is successful. + """ + return bool() + @property + def edge(self) -> core.Base: + """ + A linear B-Rep edge, construction axis or sketch line. + """ + return core.Base() + @property + def plane(self) -> core.Base: + """ + A plane, planar B-Rep face or construction plane. + """ + return core.Base() + +class ConstructionPointPointDefinition(ConstructionPointDefinition): + """ + The definition for a parametric construction point created using the SetbyPoint method + All non-parametric constructions points will return this type of definition regardless + of the method used to initially create them. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConstructionPointPointDefinition: + return ConstructionPointPointDefinition() + @property + def pointEntity(self) -> core.Base: + """ + Gets and sets the position of the point using a construction point, sketch point or + vertex. + Non-parametric points will always return a Point3D object + """ + return core.Base() + @pointEntity.setter + def pointEntity(self, value: core.Base): + """ + Gets and sets the position of the point using a construction point, sketch point or + vertex. + Non-parametric points will always return a Point3D object + """ + pass + +class ConstructionPointThreePlanesDefinition(ConstructionPointDefinition): + """ + The definition for a parametric construction point created using the SetbyThreePlanes method + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConstructionPointThreePlanesDefinition: + return ConstructionPointThreePlanesDefinition() + def redefine(self, planeOne: core.Base, planeTwo: core.Base, planeThree: core.Base) -> bool: + """ + Redefines the input geometry of the construction point. + planeOne : The first plane or planar face to intersect + planeTwo : The second plane or planar face to intersect + planeThree : The third plane or planar face to intersect + Returns true if the redefinition of the Construction Point is successful. + """ + return bool() + @property + def planeOne(self) -> core.Base: + """ + The first plane or planar face + """ + return core.Base() + @property + def planeTwo(self) -> core.Base: + """ + The second plane or planar face + """ + return core.Base() + @property + def planeThree(self) -> core.Base: + """ + The third plane or planar face + """ + return core.Base() + +class ConstructionPointTwoEdgesDefinition(ConstructionPointDefinition): + """ + The definition for a parametric construction point created using the SetbyTwoEdges method + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConstructionPointTwoEdgesDefinition: + return ConstructionPointTwoEdgesDefinition() + def redefine(self, edgeOne: core.Base, edgeTwo: core.Base) -> bool: + """ + Redefines the input geometry of the construction point. + edgeOne : The first B-Rep edge or sketch line + edgeTwo : The second B-Rep edge or sketch line + Returns true if the redefinition of the Construction Point is successful. + """ + return bool() + @property + def edgeOne(self) -> core.Base: + """ + Returns a B-Rep edge or sketch line + """ + return core.Base() + @property + def edgeTwo(self) -> core.Base: + """ + Returns a B-Rep edge or sketch line + """ + return core.Base() + +class CopyPasteBody(Feature): + """ + Object that represents an existing Copy/Paste Body feature in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CopyPasteBody: + return CopyPasteBody() + @property + def sourceBody(self) -> core.ObjectCollection: + """ + Returns the bodies that were copied to create the result bodies of this feature. An ObjectCollection + is returned that will contain the original bodies. It's possible that the collection can be empty + or contain less than the number of bodies originally copied. This happens in the case where a body + has been deleted or consumed by some other operation. + + 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() + +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): + pass + @staticmethod + def cast(arg) -> CustomFeature: + return CustomFeature() + def setStartAndEndFeatures(self, startFeature: core.Base, endFeature: core.Base) -> bool: + """ + Sets the start and end features that will be grouped by the custom feature. + The "features" in this case can be any object that is visible in the timeline, + such as modeling features, sketches, and construction geometry. The input features + and all features between them in the timeline will be grouped by the custom feature. + + The current start and end features can be determined by using the CustomFeature.features property + and getting the first and last feature from the returned array. + startFeature : The first feature in the timeline to be grouped by the custom feature. The start and the end features + can be null which will result in moving all of the features out of the custom feature. This is useful + in cases where you need to modify the inputs to a feature contained within a custom feature. You can + move the features out of the custom feature, move the timeline marker as needed to edit the features, + and then use this method again to add them back into the custom feature. + endFeature : The last feature in the timeline that will be grouped by the custom feature. This can be the same + feature that is provided as the startFeature argument for the case where the custom feature contains + a single feature. + Returns true if setting the start and end features was successful. + """ + return bool() + def createForAssemblyContext(self, occurrence: Occurrence) -> CustomFeature: + """ + 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 CustomFeature() + @property + def definition(self) -> CustomFeatureDefinition: + """ + Gets the CustomFeatureDefinition object associated with this custom feature. + null/None is returned in the case where the definition does not exist, which is + typically a result of the owning add-in not being loaded. + """ + return CustomFeatureDefinition() + @property + def dependencies(self) -> CustomFeatureDependencies: + """ + Returns the collection of dependencies for this custom feature. You can + use the collection to query, add, and remove dependencies. + """ + return CustomFeatureDependencies() + @property + def parameters(self) -> CustomFeatureParameters: + """ + Returns the list of parameters associated with this custom feature. + """ + return CustomFeatureParameters() + @property + def features(self) -> list[core.Base]: + """ + Returns the features combined by this custom feature. The start and end features and all of + the features between them in the timeline are returned. + """ + return [core.Base()] + @property + def customNamedValues(self) -> CustomNamedValues: + """ + Returns the set of custom named values associated with this custom feature. These are + a set of named values that are saved with this feature that you can use to save + any additional information that is useful for you in managing the custom feature. + For example, you might have a setting like an option for different shapes that + the user chooses when creating the feature that are not represented as a parameter. + You can use this to save the chosen value so when the feature is computed or edited + you can use the value originally chosen. During an edit, you might allow the user + to edit this setting and you can update the saved custom value. + """ + return CustomNamedValues() + @property + def nativeObject(self) -> CustomFeature: + """ + 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 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): + pass + @staticmethod + def cast(arg) -> CustomFeatureEvent: + return CustomFeatureEvent() + def add(self, handler: CustomFeatureEventHandler) -> 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: CustomFeatureEventHandler) -> 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 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): + pass + @staticmethod + def cast(arg) -> CustomFeatureEventArgs: + return CustomFeatureEventArgs() + @property + def customFeature(self) -> CustomFeature: + """ + Provides access to the custom feature that is being recomputed. + """ + return CustomFeature() + @property + def computeStatus(self) -> core.Status: + """ + Provides access to the Status object associated with this compute. If the compute is successful + you shouldn't do anything with this property. If the compute is not fully successful, you can + use this returned Status object to define any errors or warnings that occurred during the compute. + These warnings and errors will be shown to the user in the Alerts dialog. + """ + return core.Status() + +class CustomGraphicsAppearanceColorEffect(CustomGraphicsColorEffect): + """ + One of the types of color effects that can be applied to a custom graphics entity. With this + type of effect, the graphics entity will display using a Fusion appearance. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CustomGraphicsAppearanceColorEffect: + return CustomGraphicsAppearanceColorEffect() + @staticmethod + 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 available in the + design where the graphics will be drawn. + 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. + """ + return CustomGraphicsAppearanceColorEffect() + @property + def appearance(self) -> core.Appearance: + """ + Gets and sets the appearance to use. The appearance assigned must be available in the + design where the graphics will be drawn. + """ + return core.Appearance() + @appearance.setter + def appearance(self, value: core.Appearance): + """ + Gets and sets the appearance to use. The appearance assigned must be available in the + design where the graphics will be drawn. + """ + pass + +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 + appearance. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CustomGraphicsBasicMaterialColorEffect: + return CustomGraphicsBasicMaterialColorEffect() + @staticmethod + 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 + properties so that the entity can be rendered with basic shading and lighting effects applied + so that it appears 3-dimensional. + + 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. + ambientColor : The ambient color is the color of the light anywhere there's not a specific light source. If + not specified the same color as the diffuse color is used. + specularColor : The specular color is the color of reflected light (highlights) as it is reflected off of a shiny surface. This is + commonly white or a lighter shade of the diffuse color. If not specified, white is used. + 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 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. + """ + return CustomGraphicsBasicMaterialColorEffect() + @property + def emissiveColor(self) -> core.Color: + """ + Gets and sets the emissiveColor associated with this CustomGraphicsBasicMaterialColorEffect object. + The emissive color is the primary color of the entity + """ + return core.Color() + @emissiveColor.setter + def emissiveColor(self, value: core.Color): + """ + Gets and sets the emissiveColor associated with this CustomGraphicsBasicMaterialColorEffect object. + The emissive color is the primary color of the entity + """ + pass + @property + def ambientColor(self) -> core.Color: + """ + Gets and sets the ambientColor associated with this CustomGraphicsBasicMaterialColorEffect object. + The ambient color is the color of the light anywhere there's not a specific light source. + """ + return core.Color() + @ambientColor.setter + def ambientColor(self, value: core.Color): + """ + Gets and sets the ambientColor associated with this CustomGraphicsBasicMaterialColorEffect object. + The ambient color is the color of the light anywhere there's not a specific light source. + """ + pass + @property + def diffuseColor(self) -> core.Color: + """ + Gets and sets the diffuseColor associated with this CustomGraphicsBasicMaterialColorEffect object. + The diffuse color is the color of reflected light as it scatters off of a rough surface. + """ + return core.Color() + @diffuseColor.setter + def diffuseColor(self, value: core.Color): + """ + Gets and sets the diffuseColor associated with this CustomGraphicsBasicMaterialColorEffect object. + The diffuse color is the color of reflected light as it scatters off of a rough surface. + """ + pass + @property + def specularColor(self) -> core.Color: + """ + Gets and sets the specularColor associated with this CustomGraphicsBasicMaterialColorEffect object. + The specular color is the color of reflected light (highlights) as it is reflected off of a shiny surface. This is + commonly white or a lighter shade of the emissive color. + """ + return core.Color() + @specularColor.setter + def specularColor(self, value: core.Color): + """ + Gets and sets the specularColor associated with this CustomGraphicsBasicMaterialColorEffect object. + The specular color is the color of reflected light (highlights) as it is reflected off of a shiny surface. This is + commonly white or a lighter shade of the emissive color. + """ + pass + @property + 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 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 + 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 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 + def opacity(self) -> float: + """ + Gets and sets the opacity associated with this CustomGraphicsBasicMaterialColorEffect object. + A value of 1.0 is completely opaque and 0.0 is completely transparent. + """ + return float() + @opacity.setter + def opacity(self, value: float): + """ + Gets and sets the opacity associated with this CustomGraphicsBasicMaterialColorEffect object. + A value of 1.0 is completely opaque and 0.0 is completely transparent. + """ + pass + +class CustomGraphicsBRepBody(CustomGraphicsEntity): + """ + This represents custom graphics that are based on a BRepBody. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CustomGraphicsBRepBody: + return CustomGraphicsBRepBody() + @property + def faces(self) -> CustomGraphicsBRepFaces: + """ + Returns the collection of CustomGraphicsBRepFace objects in the CustomGraphicsBRepBody. + """ + return CustomGraphicsBRepFaces() + @property + def edges(self) -> CustomGraphicsBRepEdges: + """ + Returns the collection of CustomGraphicsBRepEdge objects in the CustomGraphicsBRepBody. + """ + return CustomGraphicsBRepEdges() + @property + def vertices(self) -> CustomGraphicsBRepVertices: + """ + Returns the collection of CustomGraphicsBRepVertex objects in the CustomGraphicsBRepBody. + """ + return CustomGraphicsBRepVertices() + @property + def bRepBody(self) -> BRepBody: + """ + Returns a transient BRepBody that is being displayed as custom graphics. + """ + return BRepBody() + +class CustomGraphicsCurve(CustomGraphicsEntity): + """ + This represents custom graphics that are based on any object derived from Curve3D (except InfiniteLine3D). + This is useful when drawing curved geometry where the alternative is to stroke the smooth curve and draw + it as a series of lines. Using this you can directly use the curve and Fusion will automatically take care + of creating the correct display for the current level of detail. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CustomGraphicsCurve: + return CustomGraphicsCurve() + @property + def curve(self) -> core.Curve3D: + """ + Gets and sets the curve associated with this graphics entity. Any of the curve types derived from Curve3D + is valid except for InfiniteLine3D. + """ + return core.Curve3D() + @curve.setter + def curve(self, value: core.Curve3D): + """ + Gets and sets the curve associated with this graphics entity. Any of the curve types derived from Curve3D + is valid except for InfiniteLine3D. + """ + pass + @property + def weight(self) -> float: + """ + Defines the thickness of the curve in pixels. + """ + return float() + @weight.setter + 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): + """ + Represents of group of custom graphics entities. A group can also own other graphics groups. + """ + def __init__(self): + pass + @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 + any child graphics groups. + 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 CustomGraphicsEntity() + def addGroup(self) -> CustomGraphicsGroup: + """ + Creates a new, empty CustomGraphicsGroup that is owned by this CustomGraphicsGroup. + Returns the new CustomGraphicsGroup object or null in the case of a failure. + """ + return CustomGraphicsGroup() + def addMesh(self, coordinates: CustomGraphicsCoordinates, coordinateIndexList: list[int], normalVectors: list[float], normalIndexList: list[int]) -> CustomGraphicsMesh: + """ + Adds a new CustomGraphicsMesh entity to this group. + coordinates : The CustomGraphicsCoordinates object that defines the coordinates of the vertices of the mesh. + A CustomGrahpicsCoordinates object can be created using the static create method of the CustomGraphicsCoordinates class. + coordinateIndexList : An array of integers that represent indices into the coordinates to define the vertices of the triangles. If an empty + array is provided, then it's assumed that the first three coordinates defines the first triangle, the next three define + the second triangle, and so on. + normalVectors : An array of doubles that represent the x, y, z components of the normals at each coordinate. There should be a normal defined + for each coordinate. If an empty array is provided for the normal vectors, Fusion will automatically calculate normal vectors + that are 90 degrees to the face of the triangle, making it appear flat. + normalIndexList : An array of integers that represent indices into the normal vectors to define the which vector corresponds to which vertex. This + should be the same size as the vertex index list. If an empty array is input and normal vectors are provided, it is assumed that + the normals match up one-to-one to each coordinate. + 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] = None) -> CustomGraphicsLines: + """ + Adds a new CustomGraphicsLines entity to this group. + coordinates : The CustomGraphicsCoordinates object that defines the coordinates of the vertices of the lines. + A CustomGraphicsCoordinates object can be created using the static create method of the CustomGraphicsCoordinates class. + indexList : An array of integers that represent indices into the coordinates to define the order the coordinates are used to draw the lines. + If an empty array is provided, the coordinates are used in the order they're provided in the provided CustomGraphicsCoordinates object. + isLineStrip : A boolean indicating if a series of individual lines or a connected set of lines (a line strip) is to be drawn. If individual lines + are drawn, (this argument is false), each pair of coordinates defines a single line. If a line strip is drawn, (this argument is true), + the first pair of coordinates define the first line and the third coordinate defines a line that connects to the second coordinate. + The fourth coordinate creates a line connecting to the third coordinate, and so on. + lineStripLengths : If isLineStrip is true, this argument is used to define the number of coordinates to use in each line strip. It is an array of integers + that defines the number of coordinates for each line strip. For example, if the array [4,10] is input, 4 coordinates are connected for + the first line strip and 10 are used to create a second line strip. If an empty array is provided, a single line strip is created. If + isLineStrip is False, this argument is ignored. + Returns the new CustomGraphicsLines object or null in the case of a failure. + """ + return CustomGraphicsLines() + def addCurve(self, curve: core.Curve3D) -> CustomGraphicsCurve: + """ + Adds a new CustomGraphicsCurve entity to this group. A CustomGraphicsCurve is a wireframe graphic + that is based on any object derived from Curve3D (except InfiniteLine3D). This is useful when + drawing curved geometry where the alternative is to stroke the smooth curve and draw it as a series + of lines. Using this you can directly use the curve and Fusion will automatically take care of creating + the correct display for the current level of detail. + curve : The curve that defines the shape of the graphics entity. Any of the curve types derived from Curve3D + are valid except for InfiniteLine3D. + Returns the newly created CustomGraphicsCurve object or null in the case of failure. + """ + return CustomGraphicsCurve() + def addPointSet(self, coordinates: CustomGraphicsCoordinates, indexList: list[int], pointType: CustomGraphicsPointTypes, pointImage: str) -> CustomGraphicsPointSet: + """ + Adds a new CustomGraphicsPointSet entity to this group. This will be displayed as one or more points where + all of the points will display using the same image. + coordinates : The CustomGraphicsCoordinates object that defines the coordinates where the points will be displayed. + A CustomGraphicsCoordinates object can be created using the static create method of the CustomGraphicsCoordinates class. + indexList : An array of integers that represent indices into the coordinates to define which coordinates to use when drawing points. + If an empty array is provided, a point is drawn for every coordinate. + 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 + 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 + 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. + """ + return CustomGraphicsPointSet() + def addText(self, formattedText: str, font: str, size: float, transform: core.Matrix3D) -> CustomGraphicsText: + """ + 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 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. + font : The name of the font to use when displaying the text. + size : The size of the text in centimeters. + transform : Transformation matrix that specifies the position and orientation of the text in model space. The origin of the text + is the upper-left corner. + Returns the newly created CustomGraphicsText object or null in the case of failure. + """ + return CustomGraphicsText() + def addBRepBody(self, body: BRepBody) -> CustomGraphicsBRepBody: + """ + Adds a new CustomGraphicsBRepBody object to this group. This displays a real or transient BRepBody + object as custom graphics. No relationship exists back to the original input body so if it is + changed, the custom graphics will not change. + + The body associated with the CustomGraphicsBRep body is a copy of the original input body. Equivalent + Faces, Edges, and vertices can be found by using the indexes in the collection. For example if you have + a face of the original body and find that it is at index 24 in the BRepFaces collection of that body, + the equivalent face in the custom graphics body will also be at index 24. This works as long as the original + body is not modified in any way. + body : The real or transient BRepBody object to draw using custom graphics. + Returns the newly created CustomGraphicsBRepBody object or null in the case of failure. + """ + return CustomGraphicsBRepBody() + @property + def count(self) -> int: + """ + Returns the number of graphics entities within the group. + """ + return int() + @property + def isChildrenSelectable(self) -> bool: + """ + Defines if the child custom graphic entities are selectable or if the entire group is selected in the UI. By default this is true. + If false, the isSelectable property defines if this group is selectable. If true, the isSelectable property of each child entity defines if it is selectable. + """ + return bool() + @isChildrenSelectable.setter + def isChildrenSelectable(self, value: bool): + """ + Defines if the child custom graphic entities are selectable or if the entire group is selected in the UI. By default this is true. + If false, the isSelectable property defines if this group is selectable. If true, the isSelectable property of each child entity defines if it is selectable. + """ + pass + +class CustomGraphicsLines(CustomGraphicsEntity): + """ + Represents lines drawn in the graphics window. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CustomGraphicsLines: + return CustomGraphicsLines() + @property + def coordinates(self) -> CustomGraphicsCoordinates: + """ + Gets and sets the CustomGraphicsCoordinates object that defines the coordinates of the vertices of the lines. + A CustomGraphicsCoordinates object can be created using the static create method of the CustomGraphicsCoordinates class. + """ + return CustomGraphicsCoordinates() + @coordinates.setter + def coordinates(self, value: CustomGraphicsCoordinates): + """ + Gets and sets the CustomGraphicsCoordinates object that defines the coordinates of the vertices of the lines. + A CustomGraphicsCoordinates object can be created using the static create method of the CustomGraphicsCoordinates class. + """ + pass + @property + def indexList(self) -> list[int]: + """ + Gets and sets an array of integers that represent indices into the coordinates to define the order the coordinates are used to draw the lines. + An empty array indicates that no index list is used and coordinates are used in the order they're provided in the provided CustomGraphicsCoordinates object. + """ + return [int()] + @indexList.setter + def indexList(self, value: list[int]): + """ + Gets and sets an array of integers that represent indices into the coordinates to define the order the coordinates are used to draw the lines. + An empty array indicates that no index list is used and coordinates are used in the order they're provided in the provided CustomGraphicsCoordinates object. + """ + pass + @property + def isLineStrip(self) -> bool: + """ + Defines if the coordinates are used to define a series of individual lines or a connected set of lines (line strip). If individual lines + are drawn (this property is false), each pair of coordinates define a single line. If a line strip is drawn (this property is true), + the first pair of coordinates define the first line and the third coordinate defines a line that connects to the second coordinate. + The fourth coordinate creates a line connecting to the third coordinate, and so on. + """ + return bool() + @isLineStrip.setter + def isLineStrip(self, value: bool): + """ + Defines if the coordinates are used to define a series of individual lines or a connected set of lines (line strip). If individual lines + are drawn (this property is false), each pair of coordinates define a single line. If a line strip is drawn (this property is true), + the first pair of coordinates define the first line and the third coordinate defines a line that connects to the second coordinate. + The fourth coordinate creates a line connecting to the third coordinate, and so on. + """ + pass + @property + def lineStripLengths(self) -> list[int]: + """ + If isLineStrip is true, this property defines the number of coordinates to use in the line strips. It is an array of integers + that defines the number of coordinates for each line strip. An empty array indicates that a single line strip is to be drawn. + """ + return [int()] + @lineStripLengths.setter + def lineStripLengths(self, value: list[int]): + """ + If isLineStrip is true, this property defines the number of coordinates to use in the line strips. It is an array of integers + that defines the number of coordinates for each line strip. An empty array indicates that a single line strip is to be drawn. + """ + pass + @property + def weight(self) -> float: + """ + Defines the thickness of the line in pixels. + """ + return float() + @weight.setter + def weight(self, value: float): + """ + Defines the thickness of the line in pixels. + """ + 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 + @property + def isScreenSpaceLineStyle(self) -> bool: + """ + Specifies if the line style is computed based on the screen or model space. The default is + based on the screen which means the style is drawn the same regardless of how you zoom in + or out of the view. That is the length of lines and spaces are based on pixels. If it + is drawn relative to model space then the lines and spaces are defined in centimeters and + will zooming in and out will change the apparent spacing. + """ + return bool() + @isScreenSpaceLineStyle.setter + def isScreenSpaceLineStyle(self, value: bool): + """ + Specifies if the line style is computed based on the screen or model space. The default is + based on the screen which means the style is drawn the same regardless of how you zoom in + or out of the view. That is the length of lines and spaces are based on pixels. If it + is drawn relative to model space then the lines and spaces are defined in centimeters and + will zooming in and out will change the apparent spacing. + """ + pass + @property + def lineStylePattern(self) -> LineStylePatterns: + """ + The line style to apply to the line. The default is to draw a continuous line. + """ + return LineStylePatterns() + @lineStylePattern.setter + def lineStylePattern(self, value: LineStylePatterns): + """ + The line style to apply to the line. The default is to draw a continuous line. + """ + pass + +class CustomGraphicsMesh(CustomGraphicsEntity): + """ + Represents a custom triangle mesh drawn in the graphics window. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CustomGraphicsMesh: + return CustomGraphicsMesh() + @property + def coordinates(self) -> CustomGraphicsCoordinates: + """ + Gets and sets the coordinates associated with this CustomGraphicsMesh. + """ + return CustomGraphicsCoordinates() + @coordinates.setter + def coordinates(self, value: CustomGraphicsCoordinates): + """ + Gets and sets the coordinates associated with this CustomGraphicsMesh. + """ + pass + @property + def normalVectors(self) -> list[float]: + """ + Gets and sets the normal vectors of the mesh where there is a normal + vector at each node. The normals are defined as an array + of floats where they are the x, y, z components of each vector. + """ + return [float()] + @normalVectors.setter + def normalVectors(self, value: list[float]): + """ + Gets and sets the normal vectors of the mesh where there is a normal + vector at each node. The normals are defined as an array + of floats where they are the x, y, z components of each vector. + """ + pass + @property + 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 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. + """ + return [int()] + @vertexIndexList.setter + 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 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. + """ + pass + @property + def normalIndexList(self) -> list[int]: + """ + Gets and sets an array of indices that define which normal is associated + with each vertex in the mesh. This is used to look-up the normal in the + normalVectors array. + """ + return [int()] + @normalIndexList.setter + def normalIndexList(self, value: list[int]): + """ + Gets and sets an array of indices that define which normal is associated + with each vertex in the mesh. This is used to look-up the normal in the + normalVectors array. + """ + pass + @property + def textureCoordinates(self) -> list[float]: + """ + Gets and sets the texture coordinates as an array of floats where + they are the u,v components at each node. They are defined as an + array of doubles where they are the u, v coordinates of each node. + Defining texture coordinates for a mesh is optional. + """ + return [float()] + @textureCoordinates.setter + def textureCoordinates(self, value: list[float]): + """ + Gets and sets the texture coordinates as an array of floats where + they are the u,v components at each node. They are defined as an + array of doubles where they are the u, v coordinates of each node. + Defining texture coordinates for a mesh is optional. + """ + pass + +class CustomGraphicsPointSet(CustomGraphicsEntity): + """ + Represents a set of one or more custom graphics points all of the same style. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CustomGraphicsPointSet: + return CustomGraphicsPointSet() + @property + def coordinates(self) -> CustomGraphicsCoordinates: + """ + Gets and sets the coordinates used to define the position of the custom graphics points. + If no indexList is specified, every coordinate will be drawn using a custom graphics point, + """ + return CustomGraphicsCoordinates() + @coordinates.setter + def coordinates(self, value: CustomGraphicsCoordinates): + """ + Gets and sets the coordinates used to define the position of the custom graphics points. + If no indexList is specified, every coordinate will be drawn using a custom graphics point, + """ + pass + @property + def indexList(self) -> list[int]: + """ + An list of indices that specify which coordinates from the coordinate list to draw points for. + If this is an empty array, then all of the coordinates are used. + """ + return [int()] + @indexList.setter + def indexList(self, value: list[int]): + """ + An list of indices that specify which coordinates from the coordinate list to draw points for. + If this is an empty array, then all of the coordinates are used. + """ + pass + @property + 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 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. + """ + return str() + @pointImage.setter + 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 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. + """ + pass + @property + def pointType(self) -> CustomGraphicsPointTypes: + """ + 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. + """ + return CustomGraphicsPointTypes() + @pointType.setter + def pointType(self, value: CustomGraphicsPointTypes): + """ + 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. + """ + pass + +class CustomGraphicsShowThroughColorEffect(CustomGraphicsColorEffect): + """ + One of the types of color effects that can be applied to a custom graphics entity. With this + type of effect, the graphics entity will display using the specified color and will show through + other graphics that are in front of it. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CustomGraphicsShowThroughColorEffect: + return CustomGraphicsShowThroughColorEffect() + @staticmethod + def create(color: core.Color, opacity: float) -> CustomGraphicsShowThroughColorEffect: + """ + 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 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. + Returns the newly created CustomGraphicsShowThroughColorEffect object or null in the case of failure. This can be assigned + to a custom graphics entity using its showThrough property. + """ + return CustomGraphicsShowThroughColorEffect() + @property + def color(self) -> core.Color: + """ + Gets and sets the color associated with this CustomGraphicsShowThroughColorEffect object. The color that will be used to render + the portion of the entity that is covered by other objects in the scene. + """ + return core.Color() + @color.setter + def color(self, value: core.Color): + """ + Gets and sets the color associated with this CustomGraphicsShowThroughColorEffect object. The color that will be used to render + the portion of the entity that is covered by other objects in the scene. + """ + pass + @property + def opacity(self) -> float: + """ + Gets and sets the opacity value associated with this CustomGraphicsShowThroughColorEffect object. The opacity is used when rendering + the portion of the entity that is covered by other objects in the scene. This can be a value between 0 and 1, where 1 is + fully opaque and will completely cover any other entities. + """ + return float() + @opacity.setter + def opacity(self, value: float): + """ + Gets and sets the opacity value associated with this CustomGraphicsShowThroughColorEffect object. The opacity is used when rendering + the portion of the entity that is covered by other objects in the scene. This can be a value between 0 and 1, where 1 is + fully opaque and will completely cover any other entities. + """ + pass + +class CustomGraphicsSolidColorEffect(CustomGraphicsColorEffect): + """ + One of the types of color effects that can be applied to a custom graphics entity. With this + type of effect, the graphics entity will display as the single color without any lighting + effects. For example, a sphere will display as a solid filled circle without any shading + indicating it is actually spherical. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CustomGraphicsSolidColorEffect: + return CustomGraphicsSolidColorEffect() + @staticmethod + def create(color: core.Color) -> CustomGraphicsSolidColorEffect: + """ + Statically creates a new CustomGraphicsSolidColorEffect object. This can be used as input + when creating various color related custom graphics attributes. A solid color effect, + 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 separately using an opacity attribute. + Returns the created CustomGraphicsSolidColorEffect or null in case of a failure. + """ + return CustomGraphicsSolidColorEffect() + @property + 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 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 separately using an opacity attribute. + """ + pass + +class CustomGraphicsText(CustomGraphicsEntity): + """ + Represents text drawn in the graphics window. The default position of the text is at (0,0,0) and + orientation is the text lying on the x-y plane. To reposition and reorient the text you can use + the transformation property. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CustomGraphicsText: + return CustomGraphicsText() + @property + def formattedText(self) -> str: + """ + Gets and sets the formatted text definition. This is the full string, including the + formatting information, that's used to define the displayed text. + """ + return str() + @formattedText.setter + def formattedText(self, value: str): + """ + Gets and sets the formatted text definition. This is the full string, including the + formatting information, that's used to define the displayed text. + """ + pass + @property + def font(self) -> str: + """ + Gets and sets the font used to display the text. This is the default font and applies to + all of text unless there is a font override defined within the text. + """ + return str() + @font.setter + def font(self, value: str): + """ + Gets and sets the font used to display the text. This is the default font and applies to + all of text unless there is a font override defined within the text. + """ + pass + @property + def isItalic(self) -> bool: + """ + Specifies that the text displays using an italic style. This is the default italic style and applies to + all of text unless there is a style override defined within the text. + """ + return bool() + @isItalic.setter + def isItalic(self, value: bool): + """ + Specifies that the text displays using an italic style. This is the default italic style and applies to + all of text unless there is a style override defined within the text. + """ + pass + @property + def isBold(self) -> bool: + """ + Specifies that the text displays using a bold style. This is the default bold style and applies to + all of text unless there is a style override defined within the text. + """ + return bool() + @isBold.setter + def isBold(self, value: bool): + """ + Specifies that the text displays using a bold style. This is the default bold style and applies to + all of text unless there is a style override defined within the text. + """ + pass + @property + def isUnderline(self) -> bool: + """ + Specifies that the text displays using an underline style. This is the default underline style and applies to + all of text unless there is a style override defined within the text. + """ + return bool() + @isUnderline.setter + def isUnderline(self, value: bool): + """ + Specifies that the text displays using an underline style. This is the default underline style and applies to + all of text unless there is a style override defined within the text. + """ + pass + @property + def isStrikeThrough(self) -> bool: + """ + Specifies that the text displays using a strike through style. This is the default strike through style and applies to + all of text unless there is a style override defined within the text. + """ + return bool() + @isStrikeThrough.setter + def isStrikeThrough(self, value: bool): + """ + Specifies that the text displays using a strike through style. This is the default strike through style and applies to + all of text unless there is a style override defined within the text. + """ + pass + @property + def size(self) -> float: + """ + Gets and sets the size of the text in centimeters. This is the default size and applies to + all of text unless there is a size override defined within the text. + """ + return float() + @size.setter + def size(self, value: float): + """ + Gets and sets the size of the text in centimeters. This is the default size and applies to + all of text unless there is a size override defined within the text. + """ + pass + @property + def width(self) -> float: + """ + The actual width of the text in centimeters. This is useful when you want to position several + GraphicsText objects together. + """ + return float() + @property + def height(self) -> float: + """ + The actual height of the text in centimeters. This is useful when you want to position several + GraphicsText objects together. + """ + return float() + +class CustomGraphicsVertexColorEffect(CustomGraphicsColorEffect): + """ + One of the types of color effects that can be applied to a custom graphics entity. With this + type of effect, the graphics entity will display using the colors associated with the vertices + of the mesh in the CustomGraphicsCoordinates object. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CustomGraphicsVertexColorEffect: + return CustomGraphicsVertexColorEffect() + @staticmethod + def create() -> CustomGraphicsVertexColorEffect: + """ + Statically creates a new CustomGraphicsVertexColorEffect object. + Returns the created CustomGraphicsVertexColorEffect or null in case of a failure. + """ + return CustomGraphicsVertexColorEffect() + +class CutPasteBody(Feature): + """ + Object that represents an existing Cut/Paste Body feature in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CutPasteBody: + return CutPasteBody() + @property + def sourceBody(self) -> core.ObjectCollection: + """ + Returns the bodies that were cut to create the result bodies of this feature. An ObjectCollection + is returned that will contain the original bodies. It's possible that the collection can be empty + or contain less than the number of bodies originally copied. This happens in the case where a body + has been deleted or consumed by some other operation. + + 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() + +class CylinderFeature(Feature): + """ + Object that represents an existing cylinder feature in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CylinderFeature: + return CylinderFeature() + +class CylindricalJointMotion(JointMotion): + """ + Represents the set of information specific to a cylindrical joint. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CylindricalJointMotion: + return CylindricalJointMotion() + @property + def rotationAxis(self) -> JointDirections: + """ + Gets and sets the direction of the axis of rotation. This can be set to + XAxisJointDirection, YAxisJointDirection, or ZAxisJointDirection. It can + return those three directions and CustomJointDirection. If this returns + CustomJointDirection then the customRotationAxisEntity will return an entity + that defines the axis. If there is a custom rotation axis defined and this + property is set to one of the three standard axes, the custom rotation will + be removed and customRotationAxisEntity will return null. + """ + return JointDirections() + @rotationAxis.setter + def rotationAxis(self, value: JointDirections): + """ + Gets and sets the direction of the axis of rotation. This can be set to + XAxisJointDirection, YAxisJointDirection, or ZAxisJointDirection. It can + return those three directions and CustomJointDirection. If this returns + CustomJointDirection then the customRotationAxisEntity will return an entity + that defines the axis. If there is a custom rotation axis defined and this + property is set to one of the three standard axes, the custom rotation will + be removed and customRotationAxisEntity will return null. + """ + pass + @property + def rotationAxisVector(self) -> core.Vector3D: + """ + Returns the direction of the rotation axis. This property will return null in the case + where the CylindricalJointMotion object was obtained from a JointInput object. + """ + return core.Vector3D() + @property + def customRotationAxisEntity(self) -> core.Base: + """ + This property can be set using various types of entities that can infer an + axis. For example, a linear edge, sketch line, planar face, and cylindrical face. + This property is only valid in the case where the rotationAxis property returns + CustomJointDirection. Setting this property will automatically set + the rotationAxis property to CustomJointDirection. + + To set this property, you need to position the timeline marker to immediately before this joint. + This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) + """ + return core.Base() + @customRotationAxisEntity.setter + def customRotationAxisEntity(self, value: core.Base): + """ + This property can be set using various types of entities that can infer an + axis. For example, a linear edge, sketch line, planar face, and cylindrical face. + This property is only valid in the case where the rotationAxis property returns + CustomJointDirection. Setting this property will automatically set + the rotationAxis property to CustomJointDirection. + + To set this property, you need to position the timeline marker to immediately before this joint. + This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) + """ + pass + @property + def rotationValue(self) -> float: + """ + Gets and sets the rotation value. This is in radians. Setting this value is + the equivalent of using the Drive Joints command. + """ + return float() + @rotationValue.setter + def rotationValue(self, value: float): + """ + Gets and sets the rotation value. This is in radians. Setting this value is + the equivalent of using the Drive Joints command. + """ + pass + @property + def rotationLimits(self) -> JointLimits: + """ + Returns a JointLimits object that defines the rotation limits for this joint. + Use the functionality of the returned JointLimits object to get, set, and modify + the joint limits. + """ + return JointLimits() + @property + def slideValue(self) -> float: + """ + Gets and sets the slide value. This is in centimeters. Setting this value is + the equivalent of using the Drive Joints command. + """ + return float() + @slideValue.setter + def slideValue(self, value: float): + """ + Gets and sets the slide value. This is in centimeters. Setting this value is + the equivalent of using the Drive Joints command. + """ + pass + @property + def slideLimits(self) -> JointLimits: + """ + Returns a JointLimits object that defines the slide limits for this joint. + Use the functionality of the returned JointLimits object to get, set, and modify + the joint limits. + """ + return JointLimits() + +class DeleteFaceFeature(Feature): + """ + Object that represents an existing DeleteFaceFeature object in a design. + + The SurfaceDeleteFaceFeature and DeleteFaceFeature differ in that the SurfaceDeleteFaceFeature + can delete any face without any restrictions. If the body is a solid, it will become a surface + when the first face is deleted. The specified face is deleted without any other changes being + made to the body. The DeleteFaceFeature deletes the specified face and also modifies the other faces + in the body to heal or fill in the area of the deleted face. This means that a solid body will + remain solid. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> DeleteFaceFeature: + return DeleteFaceFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> DeleteFaceFeature: + """ + 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 DeleteFaceFeature() + @property + def deletedFaces(self) -> list[BRepFace]: + """ + Gets and sets the set of faces that are deleted by this feature. + + 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) + + Setting this property can fail if Fusion is unable to heal the body after + deleting the specified faces. + """ + return [BRepFace()] + @deletedFaces.setter + def deletedFaces(self, value: list[BRepFace]): + """ + Gets and sets the set of faces that are deleted by this feature. + + 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) + + Setting this property can fail if Fusion is unable to heal the body after + deleting the specified faces. + """ + pass + @property + def nativeObject(self) -> DeleteFaceFeature: + """ + 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 CombineFeature() + return DeleteFaceFeature() -class Component(BaseComponent): +class Design(core.Product): """ - Represents a component in the data model. - A component represents a set of geometry, features, and parameters that make up an item in the design. - A component can be referenced multiple times into a design with a Occurrence object. + Object that represents an open Fusion design. This derives from the + Product base class and adds the Fusion functionality specific to a Design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Design: + return Design() + def activateRootComponent(self) -> bool: + """ + Makes the root component the active component in the user interface. This is the same + as enabling the radio button next to the root component in the browser. + Returns true if the activation was successful. + """ + return bool() + def createInterferenceInput(self, entities: core.ObjectCollection) -> InterferenceInput: + """ + Creates an InterferenceInput object. This object collects the entities and options that are + used when calculating interference. To analyze interference you first create an InterferenceInput + supplying the entities and set any other settings and then provide this object as input to the + analyzeInterference method. + entities : An ObjectCollection containing the BRepBody and/or Occurrence entities that will be used in the + interference calculation. All entities must be in the context of the root component of the top-level design. + Returns an InterferenceInput object which you can use to set any other interference settings and then + use as input to the analyzeInterference method to calculate the interference. Returns null if the + creation failed. + """ + return InterferenceInput() + def analyzeInterference(self, input: InterferenceInput) -> InterferenceResults: + """ + Calculates the interference between the input bodies and/or occurrences. + input : An InterferenceInput that defines all of the necessary input needed to calculate the interference. + An InterferenceInput object is created using the createInterferenceInput method. + Returns an InterferenceResults object that can be used to examine the interference results. + """ + return InterferenceResults() + 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. + inputs : A collection of one or more 2D sketch profile and/or planar surface input objects to perform the calculations on. + Supported input object types are 2D closed sketch profiles and planar surfaces. Object must all lie on the same plane. + Calculation results reflect the sums of the input objects (i.e. total area of multiple sketch profiles) + accuracy : Specifies the desired level of computational accuracy of the property calculations. + The default value of 'LowCalculationAccuracy' returns results within a +/- 1% error margin. + Returns an AreaProperties object that can be used to examine the area results. + """ + return AreaProperties() + 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. + inputs : A collection of one or more 3D solid input objects to perform the calculations on. + Supported input object types are Components, Occurrences and BRepBodies. + Calculation results reflect the sums of the input objects (i.e. total volume of multiple bodies) + accuracy : Specifies the desired level of computational accuracy of the property calculations. + The default value of 'LowCalculationAccuracy' returns results within a +/- 1% error margin. + """ + return PhysicalProperties() + def findEntityByToken(self, entityToken: str) -> list[core.Base]: + """ + Returns the entities associated with the provided token. The return is an + array of entities. In most cases an array containing a single entity will be returned but + there are cases where more than one entity can be returned. An example of this + is where a token is obtained from a face and subsequent modeling operations cause + the face to be split into two or more pieces. All of the faces that represent + the original face will be returned with the first face being the most logical + match to the original face. + entityToken : The input entity token you want to find the matching entity for. + Returns an array of entities associated with the provided token, or an empty array + in the case where there are no matches. + """ + return [core.Base()] + def computeAll(self) -> bool: + """ + Forces a recompute of the entire design. This is the equivalent of the "Compute All" + command. + Returns true if the compute completed. This doesn't indicate if all the items in the + timeline successfully computed or not. You need to check the health state of each item + 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() + def createConfiguredDesign(self) -> ConfigurationTopTable: + """ + Converts this design into a configured design. The returned ConfigurationTable + has a single row and no columns. You can use it to add columns and rows to define + the configuration. + Returns the ConfigurationTable that defines the configurations for this design. + """ + return ConfigurationTopTable() + def setGroundPlaneOffset(self, offset: float) -> bool: + """ + Sets the offset of the ground plane. If the isAdpativeGroundPlane property is true, + setting the offset will change isAdaptiveGroundPlane to false. The offset value is + an offset relative to the current position of the ground plane. + + One example of how this method can be used is to set the isAdaptiveGroundPlane + property to true, which will position the ground plane at the bottom of the part. + By doing this, you know the current position of the ground plane. Then calling + this method with a value of -2.0 will reposition the ground plane 2 cm below the part. + If you called this method again with a value of -1.0 the ground plane will be moved + an additional 1 cm away from the geometry, since this is defining an offset relative + to the current position. + offset : Defines the relative offset based on the current position of the ground plane. The + offset is in centimeters, and a positive value will move it towards the design geometry + and a negative value away from the geometry. + Returns true if setting the offset was successful. + """ + return bool() + @property + def designType(self) -> DesignTypes: + """ + Gets and sets the current design type (DirectDesignType or ParametricDesignType) + Changing an existing design from ParametricDesignType to DirectDesignType will result in the timeline and all design + history being removed and further operations will not be captured in the timeline. + """ + return DesignTypes() + @designType.setter + def designType(self, value: DesignTypes): + """ + Gets and sets the current design type (DirectDesignType or ParametricDesignType) + Changing an existing design from ParametricDesignType to DirectDesignType will result in the timeline and all design + history being removed and further operations will not be captured in the timeline. + """ + pass + @property + def rootComponent(self) -> 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. + """ + return Components() + @property + def activeEditObject(self) -> core.Base: + """ + Returns the current edit target as seen in the user interface. This edit target + is defined as the container object that will be added to if something is created. + For example, a component can be an edit target so that when new bodies are created they + are added to that component. A sketch can also be an edit target. + """ + return core.Base() + @property + def activeComponent(self) -> Component: + """ + Returns the component that is current being edited. This can return the root component + or another component within the design. + """ + return Component() + @property + def snapshots(self) -> Snapshots: + """ + Returns the Snapshots object associated with this design which provides access to the + existing snapshots and the creation of new snapshots. + """ + return Snapshots() + @property + def timeline(self) -> Timeline: + """ + Returns the timeline associated with this design. + """ + return Timeline() + @property + def userParameters(self) -> UserParameters: + """ + Returns the collection of User Parameters in a design + """ + return UserParameters() + @property + def allParameters(self) -> ParameterList: + """ + Returns a read only list of all parameters in the design. This includes + the user parameters and model parameters from all components in this design. The parameters from Externally Referenced components + are NOT included because they are in actuality, separate designs. + """ + return ParameterList() + @property + def fusionUnitsManager(self) -> FusionUnitsManager: + """ + Returns a specialized UnitsManager that can set the default length units and work + with parameters. + """ + return FusionUnitsManager() + @property + def exportManager(self) -> ExportManager: + """ + Returns the ExportManager for this design. You use the ExportManager + to export the current design in various formats. + """ + return ExportManager() + @property + def isRootComponentActive(self) -> bool: + """ + Gets whether the root component is the active edit target in the user interface. + This is the same as checking the state of the radio button next to the root component in the browser. + To activate the root component use the ActivateRootComponent method. + """ + return bool() + @property + def materials(self) -> core.Materials: + """ + Returns the materials contained in this document. + """ + return core.Materials() + @property + def appearances(self) -> core.Appearances: + """ + Returns the appearances contained in this document. + """ + return core.Appearances() + @property + def activeOccurrence(self) -> Occurrence: + """ + Returns the occurrence that is currently activated, if any. This can return null in the case + where no occurrence is activated and the root component is active. + """ + return Occurrence() + @property + def contactSets(self) -> ContactSets: + """ + Returns the contact sets associated with this design. + """ + return ContactSets() + @property + def isContactAnalysisEnabled(self) -> bool: + """ + Gets and sets whether contact analysis is enabled for all components. This + is the equivalent of the "Disable Contact / Enable Contact" command. If this + if True then any contact analysis defined (either all or contact sets) is enabled. + if False, then no contact analysis is performed. + """ + return bool() + @isContactAnalysisEnabled.setter + def isContactAnalysisEnabled(self, value: bool): + """ + Gets and sets whether contact analysis is enabled for all components. This + is the equivalent of the "Disable Contact / Enable Contact" command. If this + if True then any contact analysis defined (either all or contact sets) is enabled. + if False, then no contact analysis is performed. + """ + pass + @property + def isContactSetAnalysis(self) -> bool: + """ + Gets and sets whether contact analysis is done using contact sets + or between all bodies, independent of any contact sets. If True and + the isContactAnalysisEnabled property is True then contact analysis + is performed using contact sets. If False and isContactAnalysisEnabled + is True, then contact analysis is performed between all bodies. If + isContactAnalysisEnabled is False then no contact analysis is performed. + """ + return bool() + @isContactSetAnalysis.setter + def isContactSetAnalysis(self, value: bool): + """ + Gets and sets whether contact analysis is done using contact sets + or between all bodies, independent of any contact sets. If True and + the isContactAnalysisEnabled property is True then contact analysis + is performed using contact sets. If False and isContactAnalysisEnabled + is True, then contact analysis is performed between all bodies. If + 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() + @property + def isConfiguredDesign(self) -> bool: + """ + Gets if this design is a configured design. A configured design contains a + configuration table. Use the configurationTable property to get the associated table. + """ + return bool() + @property + def configurationTopTable(self) -> ConfigurationTopTable: + """ + If this design is a configured design or a configuration, this property returns the associated + ConfigurationTopTable object. If this is not a configured design or configuration, this property + returns null. + """ + return ConfigurationTopTable() + @property + def isConfiguration(self) -> bool: + """ + Gets if this design is a configuration. If this returns true, + the configurationRowId can be used to get the row used to define this configuration. + Also, when this is true, the design is essentially read-only and edits are either + blocked from taking place or cannot be saved. + """ + return bool() + @property + def configurationRowId(self) -> str: + """ + Returns the ID of the row that defines this configuration. Use the + isCongiguration property to determine if this Design is a configuration + or not. If this is not a configuration, this property returns an + empty string. + """ + return str() + @property + def designPlasticRules(self) -> PlasticRules: + """ + Gets the collection of plastic rules in the design. + """ + return PlasticRules() + @property + def libraryPlasticRules(self) -> PlasticRules: + """ + Gets the collection of plastic rules in the plastic rule library. + """ + return PlasticRules() + @property + def rootDataComponent(self) -> core.DataComponent: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Get the root DataComponent in this design. This is only available for top level designs. + """ + return core.DataComponent() + @property + def objectVisibility(self) -> ObjectVisibility: + """ + Returns the ObjectVisibility object associated with this design which controls + which objects are displayed in the graphics window. This is the equivalent of + the "Object Visibility" settings in the Display Settings drop-down in the navigation + toolbar at the bottom of the Fusion graphics window. + """ + return ObjectVisibility() + @property + def isAdaptiveGroundPlane(self) -> bool: + """ + Gets and sets if the position of the ground plane for this design is adaptive. + If true, the ground plane will automatically move to be just below the model. + The orientation of the ground plane is always normal to the "up" direction + as defined by the view cube. + """ + return bool() + @isAdaptiveGroundPlane.setter + def isAdaptiveGroundPlane(self, value: bool): + """ + Gets and sets if the position of the ground plane for this design is adaptive. + If true, the ground plane will automatically move to be just below the model. + The orientation of the ground plane is always normal to the "up" direction + as defined by the view cube. + """ + pass + @property + def isModelingInAssemblyEnabled(self) -> bool: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + If this design is an assembly, this property gets and sets if the modeling functionality + is enabled. If this design is a part or hybrid design, the value of this property should be ignored. + """ + return bool() + @isModelingInAssemblyEnabled.setter + def isModelingInAssemblyEnabled(self, value: bool): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + If this design is an assembly, this property gets and sets if the modeling functionality + is enabled. If this design is a part or hybrid design, the value of this property should be ignored. + """ + pass + @property + def designIntent(self) -> DesignIntentTypes: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Gets and sets the use intent of this design. Changing the design intent from one + type to another is not supported in all cases. For example, if an assembly contains + any external or internal components it cannot be converted to a part. + """ + return DesignIntentTypes() + @designIntent.setter + def designIntent(self, value: DesignIntentTypes): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Gets and sets the use intent of this design. Changing the design intent from one + type to another is not supported in all cases. For example, if an assembly contains + any external or internal components it cannot be converted to a part. + """ + pass + +class DistanceAndAngleChamferEdgeSet(ChamferEdgeSet): + """ + Provides access to the edges and the parameter associated with a chord length fillet. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> DistanceAndAngleChamferEdgeSet: + return DistanceAndAngleChamferEdgeSet() + @property + def edges(self) -> core.ObjectCollection: + """ + Gets and sets the edges that will be chamfered. This collection can contain BRepEdge, BRepFace, + and Feature objects. If BRepFace or Feature are objects are provided, all of the edges associated + with those objects 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 edges that will be chamfered. This collection can contain BRepEdge, BRepFace, + and Feature objects. If BRepFace or Feature are objects are provided, all of the edges associated + with those objects 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 distance(self) -> ModelParameter: + """ + Returns the model parameter that controls the offset distance of the chamfer. + You can edit the distance by using the properties on the returned ModelParameter object. + """ + return ModelParameter() + @property + def angle(self) -> ModelParameter: + """ + Returns the model parameter that controls the angle of the chamfer. + You can edit the distance by using the properties on the returned ModelParameter object. + """ + return ModelParameter() + @property + def isFlipped(self) -> bool: + """ + Gets and sets if the chamfer is flipped. This swaps the directions for distance one and two. + + 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() + @isFlipped.setter + def isFlipped(self, value: bool): + """ + Gets and sets if the chamfer is flipped. This swaps the directions for distance one and two. + + 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 DistanceExtentDefinition(ExtentDefinition): + """ + Defines the inputs for a distance ExtentDefinition object. + This feature extent type defines the distance as well as whether the extent is symmetric + or in only one direction. If the extent is not symmetric, a positive or negative distance + can be used to control the direction. + For a hole, the IsSymmetric property value will always be false. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> DistanceExtentDefinition: + return DistanceExtentDefinition() + @staticmethod + def create(distance: core.ValueInput) -> DistanceExtentDefinition: + """ + Statically creates a new DistanceExtentDefinition object. This is used as input when + defining the extents of a feature to be a specified distance. + distance : A ValueInput that defines the distance of the extrusion. + Returns the newly created DistanceExtentDefinition or null in the case of failure. + """ + return DistanceExtentDefinition() + @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 DoubleHemFeatureDefinition(HemFeatureDefinition): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + The definition for a double hem. """ def __init__(self): pass - @staticmethod - def cast(arg) -> Component: - return Component() - def createOpenProfile(self, curves: core.Base, chainCurves: bool) -> Profile: + @staticmethod + def cast(arg) -> DoubleHemFeatureDefinition: + return DoubleHemFeatureDefinition() + @property + def gap(self) -> ModelParameter: + """ + Gets the gap for a double hem. + """ + return ModelParameter() + @property + def length(self) -> ModelParameter: + """ + Gets the length for a double hem. + """ + return ModelParameter() + @property + def setback(self) -> ModelParameter: + """ + Gets the setback for a double hem. + """ + 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. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> DraftFeature: + return DraftFeature() + def setSingleAngle(self, isSymmetric: bool, angle: core.ValueInput) -> bool: + """ + Changes the definition of the feature so that a single angle is used for all drafts. + If the isSymmetric is true then the faces are split along the parting plane and drafted + independently using the same 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) + isSymmetric : Set to true if the faces are to be split along the plane or parting line and drafted symmetrically. This + will have the side effect of setting the isSymmetric property to the same value. + angle : The ValueInput object that defines the angle of the draft. This can be a positive or negative + value which will affect the direction of the draft along with the isDirectionFlipped property. + Returns true if successful + """ + return bool() + def setTwoAngles(self, angleOne: core.ValueInput, angleTwo: core.ValueInput) -> bool: + """ + Changes the definition of the feature so that the surfaces are split along the draft plane or + parting line and the faces on each side of the plane are drafted independently. + + 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) + angleOne : The ValueInput object that defines the angle for the faces on the first side of the draft plane + or parting line. + angleTwo : The ValueInput object that defines the angle for the faces on the second side of the draft plane + or parting line. + Returns true if successful + """ + return bool() + def createForAssemblyContext(self, occurrence: Occurrence) -> DraftFeature: + """ + 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 DraftFeature() + @property + def inputFaces(self) -> list[BRepFace]: + """ + Gets and sets the input faces. + If isTangentChain is true, all the faces that are tangentially connected to the input faces (if any) will also be included. + + 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 [BRepFace()] + @inputFaces.setter + def inputFaces(self, value: list[BRepFace]): + """ + Gets and sets the input faces. + If isTangentChain is true, all the faces that are tangentially connected to the input faces (if any) will also be included. + + 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 plane(self) -> core.Base: + """ + Gets and sets the plane that defines the direction in which the draft is applied. This is also referred to + as the pull direction. This can be defined using either a planar BrepFace, or a ConstructionPlane. + + 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() + @plane.setter + def plane(self, value: core.Base): + """ + Gets and sets the plane that defines the direction in which the draft is applied. This is also referred to + as the pull direction. This can be defined using either a planar BrepFace, or a ConstructionPlane. + + 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 isTangentChain(self) -> bool: """ - 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 - is input the chainCurves argument is checked to determine if connected curves (they do not need to be tangent) - should be automatically found. If multiple curves are provided the chainCurves argument is always - treated as false so you must provide all of the curves in the object collection that you want included in the profile. - The provided curves must all connect together in a single path. + Gets and sets if any faces that are tangentially connected to any of the input faces will also be drafted. + It defaults to true. - The input curves do not need to be in the same sketch, but they do need to geometrically connect for - a valid profile to be created. - chainCurves : If true, this finds any curves within the same sketch that connect to the single input curve and automatically includes them in the profile. If - false, only the curves provided will be used to define the profile. This argument is ignored and treated as false if multiple curves are input. - Returns the new Profile object or null in the case of a failure. + 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 Profile() - def createBRepEdgeProfile(self, edges: core.Base, chainEdges: bool) -> Profile: + return bool() + @isTangentChain.setter + def isTangentChain(self, value: bool): """ - 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 - is input, the chainEdges argument is checked to determine if connected edges (they do not need to be tangent) - should be automatically found. If multiple edges are provided the chainEdges argument is always - treated as false so you must provide all of the edges in the object collection that you want included in the profile. - and the edges must all connect together in a single path. if a BRepLoop object is provided, all of the edges in the loop - are included in the profile and the chainEdges argument is ignored. - chainEdges : If true, this finds any edges that connect to the single input edge and automatically includes them in the profile. If - false, only the edges provided will be used to define the profile. This argument is ignored and treated as false if multiple edges - or a BRepLoop is input. - Returns the new Profile object or null in the case of a failure. + Gets and sets if any faces that are tangentially connected to any of the input faces will also be drafted. + It defaults to true. + + 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 Profile() - def saveCopyAs(self, name: str, dataFolder: core.DataFolder, description: str, tag: str) -> core.DataFileFuture: + pass + @property + def isDirectionFlipped(self) -> bool: """ - Performs a Save Copy As on this component. This saves the specified component as a new document - in the specified location. - name : The name to use for the new document. If this is an empty string, Fusion 360 will use the - name of the component being saved. - dataFolder : The data folder to save the new document to. - description : The description string of the document. This can be an empty string. - tag : The tag string of the document. This can be an empty string. - Returns a DataFileFuture object that can be used to track the progress of the upload and get the - resulting DataFile once it's available on A360. + Gets and sets if the direction of the draft is flipped. + + 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.DataFileFuture() - def getPhysicalProperties(self, accuracy: CalculationAccuracy) -> PhysicalProperties: + return bool() + @isDirectionFlipped.setter + def isDirectionFlipped(self, value: bool): """ - Returns the PhysicalProperties object that has properties for getting the area, density, mass, volume, moments, etc - of this component. - accuracy : Specifies the desired level of computational accuracy of the property calculations. - The default value of 'LowCalculationAccuracy' returns results within a +/- 1% error margin. - Returns a PhysicalProperties object that can be used to get the various physical property related values. + Gets and sets if the direction of the draft is flipped. + + 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 PhysicalProperties() - def transformOccurrences(self, occurrences: list[Occurrence], transforms: list[core.Matrix3D], ignoreJoints: bool) -> bool: + pass + @property + def draftDefinition(self) -> ExtentDefinition: """ - Transforms a set of occurrences in one step. This provides better performance than transforming them one at a time. - This method is only valid when called on the root component because Fusion 360 flattens the entire assembly structure - when manipulating the assembly so all transforms are relative to the root component. - occurrences : An array of Occurrence objects that you want to transform. These must all be in the context of the root component which - means proxies must be used for occurrences that are in sub-components. - transforms : An array of Matrix3D objects that defines the transform to apply to each occurrence. This array must be the same size - as the array provided for the occurrences argument and the transform will be applied to the occurrence at the same index - in the occurrences array. - ignoreJoints : Specifies if the joints are to be ignored and the occurrences are to be positioned based on then specified transform or if - the joints should be used and the occurrence is transformed the best it can while still honoring the joints. - Returns true if the transform was successful. + Gets the definition object that specifies how the draft is defined. Modifying the + definition object will cause the draft to recompute. This can return either an + AngleExtentDefinition or TwoSidesAngleExtentDefinition object. This property + returns nothing in the case where the feature is non-parametric. Use this property + to access the parameters controlling the draft and whether the draft is symmetric or not. """ - return bool() + return ExtentDefinition() @property - def sketches(self) -> Sketches: + def nativeObject(self) -> DraftFeature: """ - Returns the sketches collection associated with this component. - This provides access to the existing sketches and supports - the creation of new sketches. + 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 Sketches() + 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 features(self) -> Features: + def isSplineConvertedToPolyline(self) -> bool: """ - Returns the collection that provides access to all of the features - associated with this component. + 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 Features() - @property - def meshBodies(self) -> MeshBodies: + return bool() + @isSplineConvertedToPolyline.setter + def isSplineConvertedToPolyline(self, value: bool): """ - Returns the mesh bodies collection associated with this component. + 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 MeshBodies() + pass @property - def modelParameters(self) -> ModelParameters: + def convertToPolylineTolerance(self) -> float: """ - Returns the collection of model parameters in the Component. + 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 ModelParameters() + 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 @property - def isOriginFolderLightBulbOn(self) -> bool: + def units(self) -> DistanceUnits: """ - Gets and sets if the light bulb of the origin folder as seen in the browser is on or off. - This controls the visibility of the origin construction geometry. + Gets and sets the units that will be used for the DXF file. This defaults to be + the same as the default units of the design. """ - return bool() - @isOriginFolderLightBulbOn.setter - def isOriginFolderLightBulbOn(self, value: bool): + return DistanceUnits() + @units.setter + def units(self, value: DistanceUnits): """ - Gets and sets if the light bulb of the origin folder as seen in the browser is on or off. - This controls the visibility of the origin construction geometry. + Gets and sets the units that will be used for the DXF file. This defaults to be + the same as the default units of the design. """ pass @property - def isConstructionFolderLightBulbOn(self) -> bool: + def isCenterLinesExported(self) -> bool: """ - Gets and sets if the light bulb of the construction folder as seen in the browser is on or off. - This controls the visibility of the (non-origin) construction geometry - (i.e. planes, points, axes). + Specifies if the center lines (bend line) of the flat pattern are exported in the DXF. + Defaults to true. """ return bool() - @isConstructionFolderLightBulbOn.setter - def isConstructionFolderLightBulbOn(self, value: bool): + @isCenterLinesExported.setter + def isCenterLinesExported(self, value: bool): """ - Gets and sets if the light bulb of the construction folder as seen in the browser is on or off. - This controls the visibility of the (non-origin) construction geometry - (i.e. planes, points, axes). + Specifies if the center lines (bend line) of the flat pattern are exported in the DXF. + Defaults to true. """ pass @property - def isSketchFolderLightBulbOn(self) -> bool: + def isExtentLinesExported(self) -> bool: """ - Gets and sets if the light bulb of the sketch folder as seen in the browser is on or off. - This controls the visibility of the sketches in this component. + Specifies if the bend extent lines of the flat pattern are exported in the DXF. + Defaults to true. """ return bool() - @isSketchFolderLightBulbOn.setter - def isSketchFolderLightBulbOn(self, value: bool): + @isExtentLinesExported.setter + def isExtentLinesExported(self, value: bool): """ - Gets and sets if the light bulb of the sketch folder as seen in the browser is on or off. - This controls the visibility of the sketches in this component. + Specifies if the bend extent lines of the flat pattern are exported in the DXF. + Defaults to true. """ pass + +class DXFSketchExportOptions(ExportOptions): + """ + Defines the various settings associated with exporting a sketch in DXF format. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> DXFSketchExportOptions: + return DXFSketchExportOptions() @property - def xYConstructionPlane(self) -> ConstructionPlane: + def units(self) -> DistanceUnits: """ - Returns the XY origin construction plane. + Gets and sets the units that will be used for the DXF file. This defaults to be + the same as the default units of the design. """ - return ConstructionPlane() - @property - def xZConstructionPlane(self) -> ConstructionPlane: + return DistanceUnits() + @units.setter + def units(self, value: DistanceUnits): """ - Returns the XZ origin construction plane. + Gets and sets the units that will be used for the DXF file. This defaults to be + the same as the default units of the design. """ - return ConstructionPlane() + pass @property - def yZConstructionPlane(self) -> ConstructionPlane: + def isConstructionExported(self) -> bool: """ - Returns the YZ origin construction plane. + Indicates if construction geometry should be exported. Defaults to true, + which will export all construction geometry. If false it will be ignored + and not included in the DXF file. """ - return ConstructionPlane() - @property - def xConstructionAxis(self) -> ConstructionAxis: + return bool() + @isConstructionExported.setter + def isConstructionExported(self, value: bool): """ - Returns the X origin construction axis. + Indicates if construction geometry should be exported. Defaults to true, + which will export all construction geometry. If false it will be ignored + and not included in the DXF file. """ - return ConstructionAxis() + pass @property - def yConstructionAxis(self) -> ConstructionAxis: + def isPointsExported(self) -> bool: """ - Returns the Y origin construction axis. + Indicates if the sketch points should be exported. Defaults to true, + which will export all points. If false it will be ignored + and not included in the DXF file. """ - return ConstructionAxis() - @property - def zConstructionAxis(self) -> ConstructionAxis: + return bool() + @isPointsExported.setter + def isPointsExported(self, value: bool): """ - Returns the Z origin construction axis. + Indicates if the sketch points should be exported. Defaults to true, + which will export all points. If false it will be ignored + and not included in the DXF file. """ - return ConstructionAxis() + pass @property - def originConstructionPoint(self) -> ConstructionPoint: + def isProjectedGeometryExported(self) -> bool: """ - Returns the origin construction point. + Indicates if any projected geometry should be exported. Defaults to true, + which will export all projected geometry. If false it will be ignored + and not included in the DXF file. """ - return ConstructionPoint() + return bool() + @isProjectedGeometryExported.setter + def isProjectedGeometryExported(self, value: bool): + """ + Indicates if any projected geometry should be exported. Defaults to true, + which will export all projected geometry. If false it will be ignored + and not included in the DXF file. + """ + pass + +class EmbossFeature(Feature): + """ + Object that represents an existing emboss feature in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> EmbossFeature: + return EmbossFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> EmbossFeature: + """ + 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 EmbossFeature() @property - def partNumber(self) -> str: + def profiles(self) -> list[core.Base]: """ - Gets and sets the part number associated with this component. Setting this - to an empty string will reset it to be the same as the component name. + Gets and sets the set Profile objects that define the shape of the emboss. + The profile argument can be Profile and SketchText objects. + When multiple objects are used, all profiles and sketch texts must be co-planar. + + 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 str() - @partNumber.setter - def partNumber(self, value: str): + return [core.Base()] + @profiles.setter + def profiles(self, value: list[core.Base]): """ - Gets and sets the part number associated with this component. Setting this - to an empty string will reset it to be the same as the component name. + Gets and sets the set Profile objects that define the shape of the emboss. + The profile argument can be Profile and SketchText objects. + When multiple objects are used, all profiles and sketch texts must be co-planar. + + 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 description(self) -> str: + def inputFaces(self) -> list[BRepFace]: """ - Gets and sets the description associated with this component. + Gets and sets an array of BRepFace objects that define the faces the emboss will be performed on. The + value of the isTangentChain property controls if faces that are tangent to any of the specified faces + are also included. + + 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 str() - @description.setter - def description(self, value: str): + return [BRepFace()] + @inputFaces.setter + def inputFaces(self, value: list[BRepFace]): """ - Gets and sets the description associated with this component. + Gets and sets an array of BRepFace objects that define the faces the emboss will be performed on. The + value of the isTangentChain property controls if faces that are tangent to any of the specified faces + are also included. + + 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 joints(self) -> Joints: + def isTangentChain(self) -> bool: """ - Returns the collection of joints associated with this component. + Gets and sets whether any faces that are tangentially connected to any of the input faces will + also be used. + + 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 Joints() + return bool() + @isTangentChain.setter + def isTangentChain(self, value: bool): + """ + Gets and sets whether any faces that are tangentially connected to any of the input faces will + also be used. + + 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 jointOrgins(self) -> JointOrigins: + def depth(self) -> ModelParameter: """ - 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. + Returns the parameter that controls the depth of the emboss. A positive value results in the emboss + protruding out of the body and the negative value results in the emboss going into the body. To + edit the depth, use properties on the returned ModelParameter. """ - return JointOrigins() + return ModelParameter() @property - def asBuiltJoints(self) -> AsBuiltJoints: + def horizontalDistance(self) -> ModelParameter: """ - Returns the collection of as-built joints associated with this component. + Returns the parameter that controls the horizontal offset distance. To + edit the offset, use properties on the returned ModelParameter. """ - return AsBuiltJoints() + return ModelParameter() @property - def rigidGroups(self) -> RigidGroups: + def verticalDistance(self) -> ModelParameter: """ - Returns the collection of rigid groups associated with this component. + Returns the parameter that controls the vertical offset distance. To + edit the offset, use properties on the returned ModelParameter. """ - return RigidGroups() + return ModelParameter() @property - def material(self) -> core.Material: + def rotationAngle(self) -> ModelParameter: """ - Gets and sets the physical material assigned to this component. + Returns the parameter that controls the rotation angle. To + edit the angle, use properties on the returned ModelParameter. """ - return core.Material() - @material.setter - def material(self, value: core.Material): + return ModelParameter() + @property + def nativeObject(self) -> EmbossFeature: """ - Gets and sets the physical material assigned to this component. + 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 EmbossFeature() + +class EqualConstraint(GeometricConstraint): + """ + An equal constraint in a sketch. + """ + def __init__(self): pass - @property - def physicalProperties(self) -> PhysicalProperties: + @staticmethod + def cast(arg) -> EqualConstraint: + return EqualConstraint() + def createForAssemblyContext(self, occurrence: Occurrence) -> EqualConstraint: """ - Returns the PhysicalProperties object that has properties for getting the area, density, mass, volume, moments, etc - of this component. Property values will be calculated using the 'LowCalculationAccuracy' setting when using this property - to get the PhysicalProperties object. To specify a higher calculation tolerance, use the getPhysicalProperties method instead. - Returns a PhysicalProperties object that can be used to get the various physical property related values. + 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 PhysicalProperties() + return EqualConstraint() @property - def boundingBox(self) -> core.BoundingBox3D: + def curveOne(self) -> SketchCurve: """ - Returns the bounding box of this component. This is always in world space of the component. + Returns the first curve. """ - return core.BoundingBox3D() + return SketchCurve() @property - def isJointsFolderLightBulbOn(self) -> bool: + def curveTwo(self) -> SketchCurve: """ - Gets and sets if the light bulb of the joints folder as seen in the browser is on or off. - This controls the visibility of the joints in this occurrence. The light bulb for the - folder is component specific and will turn off the joints for all occurrences referencing - the component. + Returns the second curve. """ - return bool() - @isJointsFolderLightBulbOn.setter - def isJointsFolderLightBulbOn(self, value: bool): + return SketchCurve() + @property + def nativeObject(self) -> EqualConstraint: """ - Gets and sets if the light bulb of the joints folder as seen in the browser is on or off. - This controls the visibility of the joints in this occurrence. The light bulb for the - folder is component specific and will turn off the joints for all occurrences referencing - the component. + 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 EqualConstraint() + +class EqualDistanceChamferEdgeSet(ChamferEdgeSet): + """ + Provides access to the edges and the parameter associated with a equal distance offset chamfer. + """ + def __init__(self): pass + @staticmethod + def cast(arg) -> EqualDistanceChamferEdgeSet: + return EqualDistanceChamferEdgeSet() @property - def attributes(self) -> core.Attributes: + def edges(self) -> core.ObjectCollection: """ - Returns the collection of attributes associated with this face. + Gets and sets the edges that will be chamfered. This collection can contain BRepEdge, BRepFace, + and Feature objects. If BRepFace or Feature are objects are provided, all of the edges associated + with those objects 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.Attributes() - @property - def isBodiesFolderLightBulbOn(self) -> bool: + return core.ObjectCollection() + @edges.setter + def edges(self, value: core.ObjectCollection): """ - Gets and sets if the light bulb of the bodies folder as seen in the browser is on or off. - This controls the visibility of the solid/surface bodies and the mesh bodies in this component. + Gets and sets the edges that will be chamfered. This collection can contain BRepEdge, BRepFace, + and Feature objects. If BRepFace or Feature are objects are provided, all of the edges associated + with those objects 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 bool() - @isBodiesFolderLightBulbOn.setter - def isBodiesFolderLightBulbOn(self, value: bool): + pass + @property + def distance(self) -> ModelParameter: """ - Gets and sets if the light bulb of the bodies folder as seen in the browser is on or off. - This controls the visibility of the solid/surface bodies and the mesh bodies in this component. + Returns the model parameter that controls the offset distance of the chamfer. You can edit + the distance by using the properties on the returned ModelParameter object. """ + return ModelParameter() + +class ExtendFeature(Feature): + """ + Object that represents an existing extend feature in a design. + """ + def __init__(self): pass - @property - def allJoints(self) -> list[Joint]: + @staticmethod + def cast(arg) -> ExtendFeature: + return ExtendFeature() + def setInputEntities(self, edges: core.ObjectCollection, isChainingEnabled: bool = True) -> bool: """ - Returns all joints in this component and any sub components. The joints returned are all in the context - of this component so any joints in sub components will be proxies. This is primarily useful when used - from the root component because Fusion 360 flattens the assembly structure, including joints, when manipulating - an assembly. + Sets the edges for the extend 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) + edges : The surface edges to extend. + Only the surface edges from an open body can be extended. + The edges must all be from the same open body. + isChainingEnabled : An optional boolean argument whose default is true. If this argument is set to true, all edges that are + tangent or curvature continuous, and end point connected, will be found automatically and extended. + Returns true if successful """ - return [Joint()] - @property - def allAsBuiltJoints(self) -> list[AsBuiltJoint]: + return bool() + def createForAssemblyContext(self, occurrence: Occurrence) -> ExtendFeature: """ - Returns all joint origins in this component and any sub components. The joint origins returned are all in the context - of this component so any joint origins in sub components will be proxies. This is primarily useful when used - from the root component because Fusion 360 flattens the assembly structure, including joint origins, when manipulating - an assembly. + 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 [AsBuiltJoint()] + return ExtendFeature() @property - def allJointOrigins(self) -> list[JointOrigin]: + def edges(self) -> core.ObjectCollection: """ - Returns all as-built joints in this component and any sub components. The as-built joints returned are all in the context - of this component so any as-built joints in sub components will be proxies. This is primarily useful when used - from the root component because Fusion 360 flattens the assembly structure, including as-built joints, when manipulating - an assembly. + Gets the edges that were extended. In many cases the extend operation results in + the edges being consumed so they're no longer available after the feature is created. + in this case you need to reposition the timeline marker to just before this feature + when the edges do exist. + + 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 [JointOrigin()] + return core.ObjectCollection() @property - def allRigidGroups(self) -> list[RigidGroup]: + def distance(self) -> ModelParameter: """ - Returns all rigid groups in this component and any sub components. The rigid groups returned are all in the context - of this component so any rigid groups in sub components will be proxies. This is primarily useful when used - from the root component because Fusion 360 flattens the assembly structure, including rigid groups, when manipulating - an assembly. + Returns the parameter controlling the extend distance. You can edit the distance + by editing the value of the parameter object. """ - return [RigidGroup()] + return ModelParameter() @property - def opacity(self) -> float: + def extendType(self) -> SurfaceExtendTypes: """ - Gets and sets the opacity override assigned to this component. A value of 1.0 specifies - that is it completely opaque and a value of 0.0 specifies that is it completely transparent. - - This is only applicable for a non-root local component. + Gets and sets surface extend type to use. - This value is not necessarily related to what the user sees because the opacity is inherited. - For example, if you have TopComponent and it has a component in it called SubComponent and you - set the opacity of TopComponent to be 0.5, SubComponent will also be shown as slightly transparent - even though the opacity property for it will return 1.0. Because a component can be referenced as - an occurrence in other components and they can have different opacity settings, it's possible that - different instances of the same component can display using different opacity levels. To get the - opacity that it is being displayed with use the Occurrence.visibleOpacity property. + 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 float() - @opacity.setter - def opacity(self, value: float): + return SurfaceExtendTypes() + @extendType.setter + def extendType(self, value: SurfaceExtendTypes): """ - Gets and sets the opacity override assigned to this component. A value of 1.0 specifies - that is it completely opaque and a value of 0.0 specifies that is it completely transparent. - - This is only applicable for a non-root local component. + Gets and sets surface extend type to use. - This value is not necessarily related to what the user sees because the opacity is inherited. - For example, if you have TopComponent and it has a component in it called SubComponent and you - set the opacity of TopComponent to be 0.5, SubComponent will also be shown as slightly transparent - even though the opacity property for it will return 1.0. Because a component can be referenced as - an occurrence in other components and they can have different opacity settings, it's possible that - different instances of the same component can display using different opacity levels. To get the - opacity that it is being displayed with use the Occurrence.visibleOpacity property. + 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 jointOrigins(self) -> JointOrigins: - """ - Returns the collection of joint origins associated with this component. - """ - return JointOrigins() - @property - def customGraphicsGroups(self) -> CustomGraphicsGroups: + def isChainingEnabled(self) -> bool: """ - Returns the customGraphicsGroups object in this component. + Gets if all edges that are tangent or curvature continuous, and end point connected, will be found + automatically and extended. """ - return CustomGraphicsGroups() + return bool() @property - def revisionId(self) -> str: + def nativeObject(self) -> ExtendFeature: """ - Returns the current revision ID of the component. This ID changes any time the component is modified in any way. By getting - and saving the ID when you create any data that is dependent on the component, you can then compare the saved - ID with the current ID to determine if the component has changed to know if you should update your data. + 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 str() + return ExtendFeature() @property - def entityToken(self) -> str: + def extendAlignment(self) -> SurfaceExtendAlignment: """ - Returns a token for the Component object. This can be saved and used at a later - time with the Design.findEntityByToken method to get back the same component. + Gets and sets surface extend alignment to use. - 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. + 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 str() - @property - def id(self) -> str: + return SurfaceExtendAlignment() + @extendAlignment.setter + def extendAlignment(self, value: SurfaceExtendAlignment): """ - Returns the persistent ID of the component. This ID is created with the component and does not change. - Because this ID does not change, different revisions of the same design or copies of the design asset/file - will retain this ID. If components from different designs have the same ID, it indicates they are either - different revisions or a copy of the design was made. Therefore, this ID will always be unique within a - single design, but may not be unique in an assembly where externally referenced designs include different - revisions or copies of a design. + Gets and sets surface extend alignment to use. - The ID is also the same ID used by PIM (Product Information Model). + 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 str() + pass -class ConcentricConstraint(GeometricConstraint): +class ExtrudeFeature(Feature): """ - A concentric constraint in a sketch. + Object that represents an existing extrude feature in a design. """ def __init__(self): pass @staticmethod - def cast(arg) -> ConcentricConstraint: - return ConcentricConstraint() - def createForAssemblyContext(self, occurrence: Occurrence) -> ConcentricConstraint: + def cast(arg) -> ExtrudeFeature: + return ExtrudeFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> ExtrudeFeature: """ Creates or returns a proxy for the native object - i.e. a new object that represents this object but adds the assembly context @@ -22363,2506 +43658,2873 @@ def createForAssemblyContext(self, occurrence: Occurrence) -> ConcentricConstrai 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 ConcentricConstraint() - @property - def entityOne(self) -> SketchCurve: - """ - Returns the first curve. - """ - return SketchCurve() - @property - def entityTwo(self) -> SketchCurve: - """ - Returns the second curve. - """ - return SketchCurve() - @property - def nativeObject(self) -> ConcentricConstraint: + return ExtrudeFeature() + def setOneSideExtent(self, extent: ExtentDefinition, direction: ExtentDirections, taperAngle: core.ValueInput = None) -> bool: """ - 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. + Redefines the extrusion to go in one direction from the profile. The extent of the extrusion is + defined by the extent argument. + + 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) + extent : An ExtentDefinition object that defines how the extent of the extrusion is defined. This can be + a specified distance (DistanceExtentDefinition), to an entity (ToEntityExtent), or through-all (AllExtentDefinition). + These objects can be obtained by using the static create method on the appropriate class. + direction : Specifies the direction of the extrusion. PositiveExtentDirection and NegativeExtentDirection + are valid values. PositiveExtentDirection is in the same direction as the normal of the profile's + parent sketch plane. + taperAngle : Optional argument that specifies the taper angle. If omitted a taper angle of 0 is used. + Returns true is setting the input to a one sided extent was successful. """ - return ConcentricConstraint() - -class ConstantRadiusFilletEdgeSet(FilletEdgeSet): - """ - Provides access to the edges and the parameter associated with a constant radius fillet. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> ConstantRadiusFilletEdgeSet: - return ConstantRadiusFilletEdgeSet() - @property - def edges(self) -> core.ObjectCollection: + return bool() + def setTwoSidesExtent(self, sideOneExtent: ExtentDefinition, sideTwoExtent: ExtentDefinition, sideOneTaperAngle: core.ValueInput = None, sideTwoTaperAngle: core.ValueInput = None) -> bool: """ - Gets and sets the edges that will be filleted. + Redefines the extrusion to go in both directions from the profile. The extent is defined independently + for each direction using the input arguments. - To use this property, you need to position the timeline marker to immediately before this 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) + sideOneExtent : An ExtentDefinition object that defines how the extent of the extrusion towards side one is defined. This can be + a specified distance (DistanceExtentDefinition), to an entity (ToEntityExtent), or through-all (AllExtentDefinition). + These objects can be obtained by using the static create method on the appropriate class. + sideTwoExtent : An ExtentDefinition object that defines how the extent of the extrusion towards side two is defined. This can be + a specified distance (DistanceExtentDefinition), to an entity (ToEntityExtent), or through-all (AllExtentDefinition). + These objects can be obtained by using the static create method on the appropriate class. + sideOneTaperAngle : Optional argument that specifies the taper angle for side one. If omitted a taper angle of 0 is used. + sideTwoTaperAngle : Optional argument that specifies the taper angle for side two. If omitted a taper angle of 0 is used. + Returns true, if the call was successful. """ - return core.ObjectCollection() - @edges.setter - def edges(self, value: core.ObjectCollection): + return bool() + def setSymmetricExtent(self, distance: core.ValueInput, isFullLength: bool, taperAngle: core.ValueInput = None) -> bool: """ - Gets and sets the edges that will be filleted. + Redefines the extrusion to go symmetrically in both directions from the profile. - To use this property, you need to position the timeline marker to immediately before this 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) + distance : The distance of the extrusions. This is either the full length of half of the length of the final extrusion + depending on the value of the isFullLength property. + isFullLength : Defines if the value defines the full length of the extrusion or half of the length. A value of true indicates + it defines the full length. + taperAngle : Optional argument that specifies the taper angle. The same taper angle is used for both sides for a symmetric + extrusion. If omitted a taper angle of 0 is used. + Returns true, if the call was successful. """ - pass - @property - def radius(self) -> ModelParameter: + return bool() + def setThinExtrude(self, thinExtrudeWallLocationOne: ThinExtrudeWallLocation, thinExtrudeWallThicknessOne: core.ValueInput, thinExtrudeWallLocationTwo: ThinExtrudeWallLocation = ThinExtrudeWallLocation.Side1, thinExtrudeWallThicknessTwo: core.ValueInput = None) -> bool: """ - Returns the model parameter that controls the radius of the fillet. You can edit - the radius by using the properties on the returned ModelParameter object. + 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 + to modify the thin extrude specific values. + thinExtrudeWallLocationOne : Specifies the position of the thin wall extrude with respect to the profile being extruded. This defines + the direction for a single sided thin extrude or side one of a two-sided extrusion. + thinExtrudeWallThicknessOne : A ValueInput object that defines the thickness for a single sided thin extrude or side one of a two-sided + extrusion . + thinExtrudeWallLocationTwo : Optional argument that specifies the position of side two of a two-sided extrusion. This argument is ignored + for a single sided thin extrude. + thinExtrudeWallThicknessTwo : Optional argument that is a ValueInput object that defines the thickness for side two of a + two-sided extrusion. This argument is ignored for a single sided thin extrude. + Returns true if successful. """ - return ModelParameter() - -class ConstructionAxisByLineDefinition(ConstructionAxisDefinition): - """ - The definition for a non-parametric construction axis. In a non-parametric design - all construction planes will return this type of definition regardless of how they - were initially created. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> ConstructionAxisByLineDefinition: - return ConstructionAxisByLineDefinition() + return bool() @property - def axis(self) -> core.InfiniteLine3D: + def profile(self) -> core.Base: """ - Gets and sets the infinite line that defines the position and direction of the axis + Gets and sets the profiles or planar faces used to define the shape of the extrude. + This property can return or be set with a single Profile, a single planar face, or + an ObjectCollection consisting of multiple profiles and planar faces. When an + ObjectCollection is used all of the profiles and faces must be co-planar. + + When setting this property of a surface (non-solid) extrusion, you can use the + createOpenProfile and createBRepEdgeProfile methods of the Component object to create + an open profile. + + This property returns null in the case where the feature is non-parametric. """ - return core.InfiniteLine3D() - @axis.setter - def axis(self, value: core.InfiniteLine3D): + return core.Base() + @profile.setter + def profile(self, value: core.Base): """ - Gets and sets the infinite line that defines the position and direction of the axis + Gets and sets the profiles or planar faces used to define the shape of the extrude. + This property can return or be set with a single Profile, a single planar face, or + an ObjectCollection consisting of multiple profiles and planar faces. When an + ObjectCollection is used all of the profiles and faces must be co-planar. + + When setting this property of a surface (non-solid) extrusion, you can use the + createOpenProfile and createBRepEdgeProfile methods of the Component object to create + an open profile. + + This property returns null in the case where the feature is non-parametric. """ pass - -class ConstructionAxisCircularFaceDefinition(ConstructionAxisDefinition): - """ - The definition for a parametric construction axis created using the SetbyCircularFace method - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> ConstructionAxisCircularFaceDefinition: - return ConstructionAxisCircularFaceDefinition() @property - def circularFace(self) -> BRepFace: + def operation(self) -> FeatureOperations: """ - Gets and sets the cylinder, cone, or torus this work axis - is parametrically dependent on. + Gets and sets the type of operation performed by the extrusion. """ - return BRepFace() - @circularFace.setter - def circularFace(self, value: BRepFace): + return FeatureOperations() + @operation.setter + def operation(self, value: FeatureOperations): """ - Gets and sets the cylinder, cone, or torus this work axis - is parametrically dependent on. + Gets and sets the type of operation performed by the extrusion. """ pass - -class ConstructionAxisEdgeDefinition(ConstructionAxisDefinition): - """ - The definition for a parametric construction axis created using the SetbyEdge method - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> ConstructionAxisEdgeDefinition: - return ConstructionAxisEdgeDefinition() @property - def edgeEntity(self) -> core.Base: - """ - Gets and sets the linear edge, construction line, or sketch line that defines - the construction axis. - """ - return core.Base() - @edgeEntity.setter - def edgeEntity(self, value: core.Base): + def startFaces(self) -> BRepFaces: """ - Gets and sets the linear edge, construction line, or sketch line that defines - the construction axis. + Property that returns the set of faces that cap the end of the extrusion and are coincident + with the sketch plane. In the case of a symmetric extrusion, these faces are the ones on the + positive normal side of the sketch plane. In the case where there are no start faces, + this property will return null. """ - pass - -class ConstructionAxisNormalToFaceAtPointDefinition(ConstructionAxisDefinition): - """ - The definition for a parametric construction axis created using the - SetByNormalToFaceAtPoint method - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> ConstructionAxisNormalToFaceAtPointDefinition: - return ConstructionAxisNormalToFaceAtPointDefinition() - def redefine(self, face: core.Base, pointEntity: core.Base) -> bool: + return BRepFaces() + @property + def endFaces(self) -> BRepFaces: """ - Redefines the input geometry of the construction axis. - face : The face the axis is normal to - pointEntity : The point that positions the axis - Returns true if the redefinition of the construction axis is successful. + Property that returns the set of faces that cap the end of the extrusion, opposite the + start faces. In the case where there are no end faces, this property will return null. """ - return bool() + return BRepFaces() @property - def face(self) -> core.Base: + def sideFaces(self) -> BRepFaces: """ - Gets the face the axis is normal to + Property that returns all of the side faces (i.e. those running perpendicular to the extrude direction) + of the feature. """ - return core.Base() + return BRepFaces() @property - def pointEntity(self) -> core.Base: + def nativeObject(self) -> ExtrudeFeature: """ - Gets the point that positions the axis + 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 core.Base() - -class ConstructionAxisPerpendicularAtPointDefinition(ConstructionAxisDefinition): - """ - The definition for a parametric construction axis created using the - SetByPerpendicularAtPoint method - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> ConstructionAxisPerpendicularAtPointDefinition: - return ConstructionAxisPerpendicularAtPointDefinition() - def redefine(self, face: BRepFace, pointEntity: core.Base) -> bool: + return ExtrudeFeature() + @property + def isSolid(self) -> bool: """ - Redefines the input geometry of the construction axis. - face : The face (BRepFace object) to create the axis perpendicular to. - pointEntity : The point (sketch point, vertex, construction point) used to position the axis. - Returns true if the redefinition of the axis is successful. + Indicates if this feature was initially created as a solid or a surface. """ return bool() @property - def face(self) -> BRepFace: + def startExtent(self) -> ExtentDefinition: """ - Returns the face the construction axis is perpendicular to. + Gets and sets the extent used to define the start of the extrusion. You can set this property + with either a ProfilePlaneStartDefinition, OffsetStartDefinition or a + EntityStartDefinition object. You can get any of those objects by using the static create method on the class. + + 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 BRepFace() - @property - def point(self) -> core.Base: + return ExtentDefinition() + @startExtent.setter + def startExtent(self, value: ExtentDefinition): """ - Returns the point (construction or sketch point) that positions the axis. + Gets and sets the extent used to define the start of the extrusion. You can set this property + with either a ProfilePlaneStartDefinition, OffsetStartDefinition or a + EntityStartDefinition object. You can get any of those objects by using the static create method on the class. + + 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() - -class ConstructionAxisTwoPlaneDefinition(ConstructionAxisDefinition): - """ - The definition for a parametric construction axis created using the SetByTwoPlanes method - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> ConstructionAxisTwoPlaneDefinition: - return ConstructionAxisTwoPlaneDefinition() - def redefine(self, planarEntityOne: core.Base, planarEntityTwo: core.Base) -> bool: + @property + def extentOne(self) -> ExtentDefinition: """ - Redefines the input geometry of the construction axis. - planarEntityOne : The first planar face or construction plane - planarEntityTwo : The second planar face or construction plane - Returns true if the redefinition of the axis is successful. + Gets and sets the extent used for a single sided extrude or side one of a two-sided extrusion. Valid + inputs are DistanceExtentDefinition, ToEntityExtentDefinition, and ThroughAllExtentDefinition object, + which can be created statically using the create method on the classes. + + 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() - @property - def planarEntityOne(self) -> core.Base: + return ExtentDefinition() + @extentOne.setter + def extentOne(self, value: ExtentDefinition): """ - Gets the first planar face or construction plane + Gets and sets the extent used for a single sided extrude or side one of a two-sided extrusion. Valid + inputs are DistanceExtentDefinition, ToEntityExtentDefinition, and ThroughAllExtentDefinition object, + which can be created statically using the create method on the classes. + + 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() + pass @property - def planarEntityTwo(self) -> core.Base: + def extentTwo(self) -> ExtentDefinition: """ - Gets the second planar face or construction plane + Gets and sets the extent used for side two of the extrusion. If the extrude is a single sided extrude this + property will return null and will fail if set. The hasTwoExtents property can be used to determine if + there are two sides or not. When setting this property, valid inputs are DistanceExtentDefinition, + ToEntityExtentDefinition, and ThroughAllExtentDefinition object, which can be created + statically using the create method on the classes. + + 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() - -class ConstructionAxisTwoPointDefinition(ConstructionAxisDefinition): - """ - The definition for a parametric construction axis created using the SetbyTwoPoints method - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> ConstructionAxisTwoPointDefinition: - return ConstructionAxisTwoPointDefinition() - def redefine(self, pointEntityOne: core.Base, pointEntityTwo: core.Base) -> bool: + return ExtentDefinition() + @extentTwo.setter + def extentTwo(self, value: ExtentDefinition): """ - Redefines the input geometry of the construction axis. - pointEntityOne : The first point - pointEntityTwo : The second point - Returns true if the redefinition of the construction axis is successful. + Gets and sets the extent used for side two of the extrusion. If the extrude is a single sided extrude this + property will return null and will fail if set. The hasTwoExtents property can be used to determine if + there are two sides or not. When setting this property, valid inputs are DistanceExtentDefinition, + ToEntityExtentDefinition, and ThroughAllExtentDefinition object, which can be created + statically using the create method on the classes. + + 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() + pass @property - def pointEntityOne(self) -> core.Base: + def taperAngleOne(self) -> ModelParameter: """ - Gets the first point. + Gets the parameter controlling the taper angle for a single sided extrusion or side one of a two-sided + extrusion. To edit the angle, use properties on the parameter to change the value of the parameter. """ - return core.Base() + return ModelParameter() @property - def pointEntityTwo(self) -> core.Base: + def taperAngleTwo(self) -> ModelParameter: """ - Gets the second point. + Gets the parameter controlling the taper angle for side two of a two-sided extrusion. if the extrusion is + single-sided, this property will return null. The hasTwoExtents property can be used to determine if there + are two sides or not. To edit the angle, use properties on the parameter to change the value of the parameter. """ - return core.Base() - -class ConstructionPlaneAtAngleDefinition(ConstructionPlaneDefinition): - """ - ConstructionPlaneAtAngleDefinition defines a ConstructionPlane by... - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> ConstructionPlaneAtAngleDefinition: - return ConstructionPlaneAtAngleDefinition() - def redefine(self, angle: core.ValueInput, linearEntity: core.Base, planarEntity: core.Base) -> bool: + return ModelParameter() + @property + def hasTwoExtents(self) -> bool: """ - Redefines the input geometry of the construction plane. - angle : A ValueInput object that defines the angle at which to create the construction plane - linearEntity : The linear edge, construction line, or sketch line that defines the axis of rotation to - measure the angle about - planarEntity : A plane, planar face or construction plane the angle of the construction plane is - measured from - Returns true if the redefinition of the plane is successful. + Property that indicates if the extrusion is a single or two-sided extrusion. If false, the extentTwo + and taperAngleTwo properties should not be used. """ return bool() @property - def angle(self) -> Parameter: + def participantBodies(self) -> list[BRepBody]: """ - Returns a Value object that for a transient definition provides the current - assigned value. For a definition associated with a construction plane, this - provides access to the associated parameter controlling the angle. + 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 Parameter() + 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 @property - def linearEntity(self) -> core.Base: + def extentType(self) -> FeatureExtentTypes: """ - Gets the linear edge, construction line, or sketch line that defines - the axis of rotation for the construction plane. + Returns a value indicating how the extent is defined for this extrude. """ - return core.Base() + return FeatureExtentTypes() @property - def planarEntity(self) -> core.Base: + def symmetricExtent(self) -> SymmetricExtentDefinition: """ - Gets the planar face or construction plane the angle for this - construction plane is measured from and is parametrically dependent on. + If the current extent of the feature is defined as a symmetric extent, this property + returns the SymmericExtentDefinition object that provides access to the information + defining the symmetric extent. If the current extent is not symmetric, this property + returns null. You can determine the type of extent by using the extentType property. + + To change the extent of a feature to symmetric extent you can use the setSymmetricExtent + method. """ - return core.Base() - -class ConstructionPlaneByPlaneDefinition(ConstructionPlaneDefinition): - """ - The definition for a non-parametric construction plane. All constructions planes will - return this type of definition regardless of method used to initially create them. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> ConstructionPlaneByPlaneDefinition: - return ConstructionPlaneByPlaneDefinition() + return SymmetricExtentDefinition() @property - def plane(self) -> core.Plane: + def isThinExtrude(self) -> bool: """ - Gets and sets the position of the construction plane. + Sets or returns whether the extrude is a thin extrude. + Setting it as false will make it a regular extrude. """ - return core.Plane() - @plane.setter - def plane(self, value: core.Plane): + return bool() + @isThinExtrude.setter + def isThinExtrude(self, value: bool): """ - Gets and sets the position of the construction plane. + Sets or returns whether the extrude is a thin extrude. + Setting it as false will make it a regular extrude. """ pass - -class ConstructionPlaneDistanceOnPathDefinition(ConstructionPlaneDefinition): - """ - ConstructionDistanceOnPathDefinition defines a ConstructionPlane normal to an edge or - sketch profile at a specified position along the path defined by the edge or sketch profile. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> ConstructionPlaneDistanceOnPathDefinition: - return ConstructionPlaneDistanceOnPathDefinition() - def redefine(self, pathEntity: core.Base, distance: core.ValueInput) -> bool: + @property + def thinExtrudeWallLocationOne(self) -> ThinExtrudeWallLocation: """ - Redefines the input defining the construction plane. - pathEntity : The sketch curve, edge, or a profile object - distance : The ValueInput object that defines the distance along the path - Returns true if the redefinition of the plane is successful. + Gets and sets the wall location for a one sided thin extrude or side one of a two sided thin extrude """ - return bool() - @property - def pathEntity(self) -> core.Base: + return ThinExtrudeWallLocation() + @thinExtrudeWallLocationOne.setter + def thinExtrudeWallLocationOne(self, value: ThinExtrudeWallLocation): """ - Gets the sketch curve, edge, or a profile object. + Gets and sets the wall location for a one sided thin extrude or side one of a two sided thin extrude """ - return core.Base() + pass @property - def distance(self) -> Parameter: + def thinExtrudeWallLocationTwo(self) -> ThinExtrudeWallLocation: """ - Gets the distance along the path. + Gets and sets the wall location for side two of a two sided thin extrude """ - return Parameter() - -class ConstructionPlaneMidplaneDefinition(ConstructionPlaneDefinition): - """ - ConstructionPlaneMidplaneDefinition defines a ConstructionPlane by... - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> ConstructionPlaneMidplaneDefinition: - return ConstructionPlaneMidplaneDefinition() - def redefine(self, planarEntityOne: core.Base, planarEntityTwo: core.Base) -> bool: + return ThinExtrudeWallLocation() + @thinExtrudeWallLocationTwo.setter + def thinExtrudeWallLocationTwo(self, value: ThinExtrudeWallLocation): """ - Redefines the input geometry of the construction plane. - planarEntityOne : The first planar face or construction plane that defines this ConstructionPlane. - planarEntityTwo : The second planar face or construction plane that defines this ConstructionPlane. - Returns true if the redefinition of the plane is successful. + Gets and sets the wall location for side two of a two sided thin extrude """ - return bool() + pass @property - def planarEntityOne(self) -> core.Base: + def thinExtrudeWallThicknessOne(self) -> ModelParameter: """ - Gets the first planar face or construction plane that defines this ConstructionPlane. + Gets and sets the wall thickness for a one sided thin extrude or side one of a two sided thin extrude """ - return core.Base() + return ModelParameter() @property - def planarEntityTwo(self) -> core.Base: + def thinExtrudeWallThicknessTwo(self) -> ModelParameter: """ - Gets the second planar face or construction plane that defines this ConstructionPlane. + Gets and sets the wall thickness for side two of a two sided thin extrude """ - return core.Base() + return ModelParameter() -class ConstructionPlaneOffsetDefinition(ConstructionPlaneDefinition): +class FaceRipFeatureDefinition(RipFeatureDefinition): """ - ConstructionPlaneOffsetDefinition defines a ConstructionPlane by... + The definition for a face rip. """ def __init__(self): pass @staticmethod - def cast(arg) -> ConstructionPlaneOffsetDefinition: - return ConstructionPlaneOffsetDefinition() - def redefine(self, offset: core.ValueInput, planarEntity: core.Base) -> bool: - """ - Redefines the input geometry of the construction plane. - offset : ValueInput object that specifies the offset distance - planarEntity : A plane, planar face or construction plane from which to measure the offset from - Returns true is the operation is successful - """ - return bool() + def cast(arg) -> FaceRipFeatureDefinition: + return FaceRipFeatureDefinition() @property - def offset(self) -> Parameter: + def ripFace(self) -> BRepFace: """ - Returns a Value object that for a transient definition that provides the current - assigned value and for a definition associated with a construction plane - Provides access to the associated parameter controlling the offset. + Gets and sets the input face for a face rip. """ - return Parameter() - @property - def planarEntity(self) -> core.Base: + return BRepFace() + @ripFace.setter + def ripFace(self, value: BRepFace): """ - Gets the planar face or construction plane this construction plane - is parametrically dependent on. + Gets and sets the input face for a face rip. """ - return core.Base() + pass -class ConstructionPlaneTangentAtPointDefinition(ConstructionPlaneDefinition): +class FilletFeature(Feature): """ - ConstructionPlaneTangentAtPointDefinition defines a ConstructionPlane tangent to a - face and aligned to a point. + Object that represents an existing fillet feature in a design. """ def __init__(self): pass @staticmethod - def cast(arg) -> ConstructionPlaneTangentAtPointDefinition: - return ConstructionPlaneTangentAtPointDefinition() - def redefine(self, tangentFace: core.Base, pointEntity: core.Base) -> bool: + def cast(arg) -> FilletFeature: + return FilletFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> FilletFeature: """ - Redefines the input geometry of the construction plane. - tangentFace : The face to create the plane tangent to - pointEntity : The point (sketch point, vertex, construction point) used to align the plane. - Returns true if the redefinition of the plane is successful. + 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 FilletFeature() + def convert(self, input: core.Base) -> bool: + """ + Method that converts this feature to another fillet feature type. + + 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). + input : Input a fillet feature input object that defines the desired fillet. + Use the FilletFeatures.create*Input methods to create a new fillet feature input object. + This can be a feature input for fillet type, rule fillet type or full round fillet type. + Returns true if the conversion was successful. """ return bool() @property - def tangentFace(self) -> BRepFace: + def edgeSets(self) -> FilletEdgeSets: """ - Gets the tangent face. + Returns the edge sets collection associated with this fillet. """ - return BRepFace() + return FilletEdgeSets() @property - def pointEntity(self) -> core.Base: + def isRollingBallCorner(self) -> bool: """ - Gets the point (sketch point, vertex, construction point) used to align the plane. + Gets and sets if a rolling ball or setback solution is to be used in any corners. Asymmetric + fillets always use a setback solution and will ignore this setting. + + 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() + @isRollingBallCorner.setter + def isRollingBallCorner(self, value: bool): + """ + Gets and sets if a rolling ball or setback solution is to be used in any corners. Asymmetric + fillets always use a setback solution and will ignore this setting. + + 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() - -class ConstructionPlaneTangentDefinition(ConstructionPlaneDefinition): - """ - ConstructionPlaneTangentDefinition defines a ConstructionPlane tangent to a cylindrical or conical - face at a point. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> ConstructionPlaneTangentDefinition: - return ConstructionPlaneTangentDefinition() - def redefine(self, angle: core.ValueInput, tangentFace: core.Base, planarEntity: core.Base) -> bool: + @property + def nativeObject(self) -> FilletFeature: """ - Redefines the input geometry of the construction plane. - angle : A Value object that defines the angle of the construction plane - tangentFace : The cylindrical or conical face that the construction plane is tangent to. - planarEntity : The planar face or construction plane the angle for this - construction plane is measured from - Returns true if the redefinition of the plane is successful. + 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 bool() + return FilletFeature() @property - def angle(self) -> Parameter: + def fullRoundFilletFaceSets(self) -> FullRoundFilletFaceSets: """ - Returns a Value object that for a transient definition provides the current - assigned value. For a definition associated with a construction plane, it - provides access to the associated parameter controlling the angle. + Returns the full round fillet face sets collection associated with this fillet feature. + This collection is only valid when the filletFeatureType is FullRoundFilletFeatureType + and it returns null if the filletFeatureType is not FullRoundFilletFeatureType. """ - return Parameter() + return FullRoundFilletFaceSets() @property - def tangentFace(self) -> core.Base: + def filletFeatureType(self) -> FilletFeatureTypes: """ - Gets the cylindrical or conical face that the construction plane - is tangent to. + Returns the FilletFeatureTypes indicating this fillet feature type. """ - return core.Base() + return FilletFeatureTypes() @property - def planarEntity(self) -> core.Base: + def ruleFilletSettings(self) -> RuleFilletSettings: """ - Gets the planar face or construction plane the angle for this - construction plane is measured from and is parametrically dependent on. + Gets the RuleFilletSettings object for the rule fillet. + + This is valid only when the filletFeatureType is FilletFeatureTypes.RuleFilletFeatureType, otherwise this returns null. """ - return core.Base() + return RuleFilletSettings() -class ConstructionPlaneThreePointsDefinition(ConstructionPlaneDefinition): +class FitOnPathTextDefintion(SketchTextDefinition): """ - ConstructionPlaneThreePointDefinition defines a ConstructionPlane by 3 point entities - (e.g. (sketch points, vertices or construction points) that form a triangle (i.e. - no two points the same and they aren't collinear). + Defines the information for text that fits along a path. """ def __init__(self): pass @staticmethod - def cast(arg) -> ConstructionPlaneThreePointsDefinition: - return ConstructionPlaneThreePointsDefinition() - def redefine(self, pointEntityOne: core.Base, pointEntityTwo: core.Base, pointEntityThree: core.Base) -> bool: - """ - Redefines the input geometry of the construction plane. - pointEntityOne : Gets the first construction point, sketch point or vertex. - pointEntityTwo : Gets the second construction point, sketch point or vertex. - pointEntityThree : Gets the third construction point, sketch point or vertex. - Returns true if the redefinition of the plane is successful. - """ - return bool() + def cast(arg) -> FitOnPathTextDefintion: + return FitOnPathTextDefintion() @property - def pointEntityOne(self) -> core.Base: + def path(self) -> core.Base: """ - Gets the first construction point, sketch point or vertex. + Get and sets the entity that defines the path for the text. This can be a SketchCurve or BRepEdge object. """ return core.Base() - @property - def pointEntityTwo(self) -> core.Base: + @path.setter + def path(self, value: core.Base): """ - Gets the second construction point, sketch point or vertex. + Get and sets the entity that defines the path for the text. This can be a SketchCurve or BRepEdge object. """ - return core.Base() + pass @property - def pointEntityThree(self) -> core.Base: + def isAbovePath(self) -> bool: """ - Gets the third construction point, sketch point or vertex. + Gets and sets if the text should be positioned above or below the path entity. """ - return core.Base() + return bool() + @isAbovePath.setter + def isAbovePath(self, value: bool): + """ + Gets and sets if the text should be positioned above or below the path entity. + """ + pass -class ConstructionPlaneTwoEdgesDefinition(ConstructionPlaneDefinition): +class FlangeFeature(Feature): """ - ConstructionPlaneTwoEdgesDefinition defines a ConstructionPlane by two co-planar - linear entities like edges, sketch lines or construction axis. + Object that represents an existing flange feature in a design. """ def __init__(self): pass @staticmethod - def cast(arg) -> ConstructionPlaneTwoEdgesDefinition: - return ConstructionPlaneTwoEdgesDefinition() - def redefine(self, linearEntityOne: core.Base, linearEntityTwo: core.Base) -> bool: - """ - Redefines the input geometry of the construction plane. - linearEntityOne : The first linear edge, construction line, or sketch line that defines - the construction plane. - linearEntityTwo : The second linear edge, construction line, or sketch line that defines - the construction plane. - Returns true if successful. - """ - return bool() - @property - def linearEntityOne(self) -> core.Base: - """ - Gets the first linear edge, construction line, or sketch line that defines - the construction plane. - """ - return core.Base() - @property - def linearEntityTwo(self) -> core.Base: - """ - Gets the second linear edge, construction line, or sketch line that defines - the construction plane. - """ - return core.Base() + def cast(arg) -> FlangeFeature: + return FlangeFeature() -class ConstructionPointCenterDefinition(ConstructionPointDefinition): +class FlatHemFeatureDefinition(HemFeatureDefinition): """ - The definition for a parametric construction point created using the SetbyCenter method + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + The definition for a flat hem. """ def __init__(self): pass @staticmethod - def cast(arg) -> ConstructionPointCenterDefinition: - return ConstructionPointCenterDefinition() + def cast(arg) -> FlatHemFeatureDefinition: + return FlatHemFeatureDefinition() @property - def circularEntity(self) -> core.Base: - """ - Gets and sets the spherical face (sphere or torus), circular edge or sketch arc/circle - whose center defines the location for the construction point. + def length(self) -> ModelParameter: """ - return core.Base() - @circularEntity.setter - def circularEntity(self, value: core.Base): - """ - Gets and sets the spherical face (sphere or torus), circular edge or sketch arc/circle - whose center defines the location for the construction point. + Gets the length for a flat hem. """ - pass + return ModelParameter() -class ConstructionPointEdgePlaneDefinition(ConstructionPointDefinition): +class FlatPattern(Feature): """ - The definition for a parametric construction point created using the SetbyEdgePlane method + 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) -> ConstructionPointEdgePlaneDefinition: - return ConstructionPointEdgePlaneDefinition() - def redefine(self, edge: core.Base, plane: core.Base) -> bool: + def cast(arg) -> FlatPattern: + return FlatPattern() + def getBendInfo(self, bendEdge: BRepEdge) -> tuple[bool, bool, float]: """ - Redefines the input geometry of the construction point. - edge : A linear B-Rep edge, construction axis or sketch line. - plane : A plane, planar B-Rep face or construction plane. - Returns true if the redefinition of the Construction Point is successful. + 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() + return (bool(), bool(), float()) @property - def edge(self) -> core.Base: + def flatBody(self) -> BRepBody: """ - A linear B-Rep edge, construction axis or sketch line. + Returns the B-Rep body that represents the flattened sheet metal part. """ - return core.Base() + return BRepBody() @property - def plane(self) -> core.Base: + def bendLinesBody(self) -> BRepBody: """ - A plane, planar B-Rep face or construction plane. + Returns the wire B-Rep body that represents the bend lines of the flattened sheet metal part. """ - return core.Base() + 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 ConstructionPointPointDefinition(ConstructionPointDefinition): +class FormFeature(Feature): """ - The definition for a parametric construction point created using the SetbyPoint method - All non-parametric constructions points will return this type of definition regardless - of the method used to initially create them. + Object that represents an existing Form feature in a design. """ def __init__(self): pass @staticmethod - def cast(arg) -> ConstructionPointPointDefinition: - return ConstructionPointPointDefinition() - @property - def pointEntity(self) -> core.Base: + def cast(arg) -> FormFeature: + return FormFeature() + def startEdit(self) -> bool: """ - Gets and sets the position of the point using a construction point, sketch point or - vertex. - Non-parametric points will always return a Point3D object + Set the user-interface so that the form body is in edit mode. + Returns true if successful. """ - return core.Base() - @pointEntity.setter - def pointEntity(self, value: core.Base): + return bool() + def finishEdit(self) -> bool: """ - Gets and sets the position of the point using a construction point, sketch point or - vertex. - Non-parametric points will always return a Point3D object + Exits from edit mode in the user-interface. If this form feature in not + in edit mode, then nothing happens. + Returns true if successful. """ - pass + return bool() + @property + def tSplineBodies(self) -> TSplineBodies: + """ + Returns a TSplineBodies collection where you can access any existing + T-Spline bodies and through it create new T-Spline bodies. + """ + return TSplineBodies() -class ConstructionPointThreePlanesDefinition(ConstructionPointDefinition): +class FromEntityStartDefinition(ExtentDefinition): """ - The definition for a parametric construction point created using the SetbyThreePlanes method + A definition object that is used to define a feature whose start is defined by a specified construction + plane or face. If a face is specified it must be large enough to completely contain the projected profile. """ def __init__(self): pass @staticmethod - def cast(arg) -> ConstructionPointThreePlanesDefinition: - return ConstructionPointThreePlanesDefinition() - def redefine(self, planeOne: core.Base, planeTwo: core.Base, planeThree: core.Base) -> bool: + def cast(arg) -> FromEntityStartDefinition: + return FromEntityStartDefinition() + @staticmethod + def create(entity: core.Base, offset: core.ValueInput) -> FromEntityStartDefinition: """ - Redefines the input geometry of the construction point. - planeOne : The first plane or planar face to intersect - planeTwo : The second plane or planar face to intersect - planeThree : The third plane or planar face to intersect - Returns true if the redefinition of the Construction Point is successful. + Statically creates a new FromEntityStartDefinition object. This is used as input when + create a new feature and defining the starting condition. + entity : An input construction plane or face that defines the start of the feature. If a face is specified it + must be large enough to completely contain the projected profile. + offset : An input ValueInput objects that defines the offset distance from the specified entity. The offset can be positive or + negative. A positive value indicates an offset in the same direction as the positive normal direction of the face. + Returns the newly created FromEntityStartDefinition or null in the case of a failure. """ - return bool() + return FromEntityStartDefinition() @property - def planeOne(self) -> core.Base: + def offset(self) -> core.Base: """ - The first plane or planar face + Gets the currently defined offset value. If the FromEntityStartDefinition object was + created statically and is not associated with a feature, this will return a ValueInput object. + if the FromEntityStartDefinition is associated with an existing feature, this will return + the parameter that was created when the feature was created. To edit the offset, use properties + on the parameter to change the value of the parameter. """ return core.Base() @property - def planeTwo(self) -> core.Base: + def entity(self) -> core.Base: """ - The second plane or planar face + Gets and sets the entity defining the start of the feature. """ return core.Base() - @property - def planeThree(self) -> core.Base: + @entity.setter + def entity(self, value: core.Base): """ - The third plane or planar face + Gets and sets the entity defining the start of the feature. """ - return core.Base() + pass -class ConstructionPointTwoEdgesDefinition(ConstructionPointDefinition): +class FusionArchiveExportOptions(ExportOptions): """ - The definition for a parametric construction point created using the SetbyTwoEdges method + Defines that a Fusion Archive export is to be done and specifies the various options. """ def __init__(self): pass @staticmethod - def cast(arg) -> ConstructionPointTwoEdgesDefinition: - return ConstructionPointTwoEdgesDefinition() - def redefine(self, edgeOne: core.Base, edgeTwo: core.Base) -> bool: + def cast(arg) -> FusionArchiveExportOptions: + return FusionArchiveExportOptions() + +class FusionDefaultUnitsPreferences(core.DefaultUnitsPreferences): + """ +

Fusion Default Units for Design Preferences. The following code can be used to access this object.

+
unitPrefs = app.preferences.defaultUnitsPreferences.itemByName('Design')
+ """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> FusionDefaultUnitsPreferences: + return FusionDefaultUnitsPreferences() + @property + def distanceDisplayUnits(self) -> DistanceUnits: """ - Redefines the input geometry of the construction point. - edgeOne : The first B-Rep edge or sketch line - edgeTwo : The second B-Rep edge or sketch line - Returns true if the redefinition of the Construction Point is successful. + Gets and sets the default design units for length when creating a new Fusion file. + Setting this property will have the side effect of changing the defaultUnitSystem + property to custom. """ - return bool() + return DistanceUnits() + @distanceDisplayUnits.setter + def distanceDisplayUnits(self, value: DistanceUnits): + """ + Gets and sets the default design units for length when creating a new Fusion file. + Setting this property will have the side effect of changing the defaultUnitSystem + property to custom. + """ + pass @property - def edgeOne(self) -> core.Base: + def massDisplayUnits(self) -> MassUnits: """ - Returns a B-Rep edge or sketch line + Gets and sets the default design units for mass when creating a new Fusion file. + Setting this property will have the side effect of changing the defaultUnitSystem + property to custom. """ - return core.Base() + return MassUnits() + @massDisplayUnits.setter + def massDisplayUnits(self, value: MassUnits): + """ + Gets and sets the default design units for mass when creating a new Fusion file. + Setting this property will have the side effect of changing the defaultUnitSystem + property to custom. + """ + pass @property - def edgeTwo(self) -> core.Base: + def defaultUnitSystem(self) -> UnitSystems: """ - Returns a B-Rep edge or sketch line + Gets and sets the default unit system when creating a new Fusion file. """ - return core.Base() + return UnitSystems() + @defaultUnitSystem.setter + def defaultUnitSystem(self, value: UnitSystems): + """ + Gets and sets the default unit system when creating a new Fusion file. + """ + pass -class CopyPasteBody(Feature): +class FusionDocument(core.Document): """ - Object that represents an existing Copy/Paste Body feature in a design. + Object that represents a Fusion specific document. """ def __init__(self): pass @staticmethod - def cast(arg) -> CopyPasteBody: - return CopyPasteBody() + def cast(arg) -> FusionDocument: + return FusionDocument() @property - def sourceBody(self) -> core.ObjectCollection: + def design(self) -> Design: """ - Returns the bodies that were copied to create the result bodies of this feature. An ObjectCollection - is returned that will contain the original bodies. It's possible that the collection can be empty - or contain less than the number of bodies originally copied. This happens in the case where a body - has been deleted or consumed by some other operation. - - 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 the design associated with this Fusion document. """ - return core.ObjectCollection() + return Design() -class CustomFeature(Feature): +class FusionProductPreferences(core.ProductPreferences): """ - Object that represents an existing CustomFeature feature in a design. + Fusion General Design Preferences """ def __init__(self): pass @staticmethod - def cast(arg) -> CustomFeature: - return CustomFeature() - def setStartAndEndFeatures(self, startFeature: core.Base, endFeature: core.Base) -> bool: + def cast(arg) -> FusionProductPreferences: + return FusionProductPreferences() + @property + def isActiveComponentVisibilityUsed(self) -> bool: """ - Sets the start and end features that will be grouped by the custom feature. - The "features" in this case can be any object that is visible in the timeline, - such as modeling features, sketches, and construction geometry. The input features - and all features between them in the timeline will be grouped by the custom feature. - - The current start and end features can be determined by using the CustomFeature.features property - and getting the first and last feature from the returned array. - startFeature : The first feature in the timeline to be grouped by the custom feature. The start and the end features - can be null which will result in moving all of the features out of the custom feature. This is useful - in cases where you need to modify the inputs to a feature contained within a custom feature. You can - move the features out of the custom feature, move the timeline marker as needed to edit the features, - and then use this method again to add them back into the custom feature. - endFeature : The last feature in the timeline that will be grouped by the custom feature. This can be the same - feature that is provided as the startFeature argument for the case where the custom feature contains - a single feature. - Returns true if setting the start and end features was successful. + Gets and sets the Active Component Visibility option """ return bool() - def createForAssemblyContext(self, occurrence: Occurrence) -> CustomFeature: + @isActiveComponentVisibilityUsed.setter + def isActiveComponentVisibilityUsed(self, value: bool): """ - 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. + Gets and sets the Active Component Visibility option """ - return CustomFeature() + pass @property - def definition(self) -> CustomFeatureDefinition: + def defaultDesignType(self) -> DefaultDesignTypeOptions: """ - Gets the CustomFeatureDefinition object associated with this custom feature. - null/None is returned in the case where the definition does not exist, which is - typically a result of the owning add-in not being loaded. + Gets and sets the default modeling type setting """ - return CustomFeatureDefinition() - @property - def dependencies(self) -> CustomFeatureDependencies: + return DefaultDesignTypeOptions() + @defaultDesignType.setter + def defaultDesignType(self, value: DefaultDesignTypeOptions): """ - Returns the collection of dependencies for this custom feature. You can - use the collection to query, add, and remove dependencies. + Gets and sets the default modeling type setting """ - return CustomFeatureDependencies() + pass @property - def parameters(self) -> CustomFeatureParameters: + def defaultWorkspace(self) -> DefaultWorkspaces: """ - Returns the list of parameters associated with this custom feature. + Gets and sets the Default workspace setting. (Model, Sculpt or Patch) """ - return CustomFeatureParameters() - @property - def features(self) -> list[core.Base]: + return DefaultWorkspaces() + @defaultWorkspace.setter + def defaultWorkspace(self, value: DefaultWorkspaces): """ - Returns the features combined by this custom feature. The start and end features and all of - the features between them in the timeline are returned. + Gets and sets the Default workspace setting. (Model, Sculpt or Patch) """ - return [core.Base()] + pass @property - def customNamedValues(self) -> CustomNamedValues: + def isJointPreviewAnimated(self) -> bool: """ - Returns the set of custom named values associated with this custom feature. These are - a set of named values that are saved with this feature that you can use to save - any additional information that is useful for you in managing the custom feature. - For example, you might have a setting like an option for different shapes that - the user chooses when creating the feature that are not represented as a parameter. - You can use this to save the chosen value so when the feature is computed or edited - you can use the value originally chosen. During an edit, you might allow the user - to edit this setting and you can update the saved custom value. + Gets and sets the Animate joint preview option """ - return CustomNamedValues() - @property - def nativeObject(self) -> CustomFeature: + return bool() + @isJointPreviewAnimated.setter + def isJointPreviewAnimated(self, value: bool): """ - 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 Animate joint preview option """ - return CustomFeature() - -class CustomFeatureEvent(core.Event): - """ - A CustomFeature event is an event associated with handling changes to a custom feature. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> CustomFeatureEvent: - return CustomFeatureEvent() - def add(self, handler: CustomFeatureEventHandler) -> bool: + @property + def is3DSketchingAllowed(self) -> 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. + Gets and sets the Allow 3D sketching of lines and splines option + which controls if 3D sketching is allowed or if sketching is forced to + be on the x-y plane of the sketch. + """ + return bool() + @is3DSketchingAllowed.setter + def is3DSketchingAllowed(self, value: bool): + """ + Gets and sets the Allow 3D sketching of lines and splines option + which controls if 3D sketching is allowed or if sketching is forced to + be on the x-y plane of the sketch. + """ + pass + @property + def isGhostedResultBodyShown(self) -> bool: + """ + Gets and sets the Show ghosted result body option """ return bool() - def remove(self, handler: CustomFeatureEventHandler) -> bool: + @isGhostedResultBodyShown.setter + def isGhostedResultBodyShown(self, value: 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 the Show ghosted result body option """ - return bool() - -class CustomFeatureEventArgs(core.EventArgs): - """ - The CustomFeatureEventArgs provides information associated with a custom feature event. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> CustomFeatureEventArgs: - return CustomFeatureEventArgs() @property - def customFeature(self) -> CustomFeature: + def isDimensionEditedWhenCreated(self) -> bool: """ - Provides access to the custom feature that is being recomputed. + Gets and sets if dimension value is edited when the dimension is created. """ - return CustomFeature() - @property - def computeStatus(self) -> core.Status: + return bool() + @isDimensionEditedWhenCreated.setter + def isDimensionEditedWhenCreated(self, value: bool): """ - Provides access to the Status object associated with this compute. If the compute is successful - you shouldn't do anything with this property. If the compute is not fully successful, you can - use this returned Status object to define any errors or warnings that occurred during the compute. - These warnings and errors will be shown to the user in the Alerts dialog. + Gets and sets if dimension value is edited when the dimension is created. """ - return core.Status() - -class CustomGraphicsAppearanceColorEffect(CustomGraphicsColorEffect): - """ - One of the types of color effects that can be applied to a custom graphics entity. With this - type of effect, the graphics entity will display using a Fusion appearance. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> CustomGraphicsAppearanceColorEffect: - return CustomGraphicsAppearanceColorEffect() - @staticmethod - 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 - design where the graphics will be drawn. - appearance : The appearance to use. The appearance must be avaialable in the design where the - graphics will be drawn. - Returns the created CustomGraphicsAppearanceColorEffect or null in case of a failure. - """ - return CustomGraphicsAppearanceColorEffect() @property - def appearance(self) -> core.Appearance: + def isAutoLookAtSketch(self) -> bool: """ - Gets and sets the appearance to use. The appearance assigned must be available in the - design where the graphics will be drawn. + Gets and sets if the view is re-oriented to view the newly created sketch. """ - return core.Appearance() - @appearance.setter - def appearance(self, value: core.Appearance): + return bool() + @isAutoLookAtSketch.setter + def isAutoLookAtSketch(self, value: bool): """ - Gets and sets the appearance to use. The appearance assigned must be available in the - design where the graphics will be drawn. + Gets and sets if the view is re-oriented to view the newly created sketch. """ pass - -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 - appearance. - """ - def __init__(self): - pass - @staticmethod - 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: - """ - 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 - 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 - 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. - ambientColor : The ambient color is the color of the light anywhere there's not a specific light source. If - not specified the same color as the diffuse color is used. - specularColor : The specular color is the color of reflected light (highlights) as it is reflected off of a shiny surface. This is - commonly white or a lighter shade of the diffuse color. If not specified, white is used. - 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 - 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. - """ - return CustomGraphicsBasicMaterialColorEffect() @property - def emissiveColor(self) -> core.Color: + def isAutoProjectGeometry(self) -> bool: """ - Gets and sets the emissiveColor associated with this CustomGraphicsBasicMaterialColorEffect object. - The emissive color is the primary color of the entity + Gets and Sets if geometry, not in the active sketch plane, is to be automatically projected. """ - return core.Color() - @emissiveColor.setter - def emissiveColor(self, value: core.Color): + return bool() + @isAutoProjectGeometry.setter + def isAutoProjectGeometry(self, value: bool): """ - Gets and sets the emissiveColor associated with this CustomGraphicsBasicMaterialColorEffect object. - The emissive color is the primary color of the entity + Gets and Sets if geometry, not in the active sketch plane, is to be automatically projected. """ pass @property - def ambientColor(self) -> core.Color: + def isAutoProjectEdgesOnReference(self) -> bool: """ - Gets and sets the ambientColor associated with this CustomGraphicsBasicMaterialColorEffect object. - The ambient color is the color of the light anywhere there's not a specific light source. + 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 core.Color() - @ambientColor.setter - def ambientColor(self, value: core.Color): + return bool() + @isAutoProjectEdgesOnReference.setter + def isAutoProjectEdgesOnReference(self, value: bool): """ - Gets and sets the ambientColor associated with this CustomGraphicsBasicMaterialColorEffect object. - The ambient color is the color of the light anywhere there's not a specific light source. + 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 diffuseColor(self) -> core.Color: + def isAutoHideSketchOnFeatureCreation(self) -> bool: """ - Gets and sets the diffuseColor associated with this CustomGraphicsBasicMaterialColorEffect object. - The diffuse color is the color of reflected light as it scatters off of a rough surface. + Gets and sets if the sketch should be automatically hidden whenever + a feature is created from it. """ - return core.Color() - @diffuseColor.setter - def diffuseColor(self, value: core.Color): + return bool() + @isAutoHideSketchOnFeatureCreation.setter + def isAutoHideSketchOnFeatureCreation(self, value: bool): """ - Gets and sets the diffuseColor associated with this CustomGraphicsBasicMaterialColorEffect object. - The diffuse color is the color of reflected light as it scatters off of a rough surface. + Gets and sets if the sketch should be automatically hidden whenever + a feature is created from it. """ pass @property - def specularColor(self) -> core.Color: + def isSketchScaledWithFirstDimension(self) -> bool: """ - Gets and sets the specularColor associated with this CustomGraphicsBasicMaterialColorEffect object. - The specular color is the color of reflected light (highlights) as it is reflected off of a shiny surface. This is - commonly white or a lighter shade of the emissive color. + Gets and sets if the sketch geometry is automatically scaled when + the first dimension is added. """ - return core.Color() - @specularColor.setter - def specularColor(self, value: core.Color): + return bool() + @isSketchScaledWithFirstDimension.setter + def isSketchScaledWithFirstDimension(self, value: bool): """ - Gets and sets the specularColor associated with this CustomGraphicsBasicMaterialColorEffect object. - The specular color is the color of reflected light (highlights) as it is reflected off of a shiny surface. This is - commonly white or a lighter shade of the emissive color. + Gets and sets if the sketch geometry is automatically scaled when + the first dimension is added. """ pass @property - def glossiness(self) -> float: + def isAllowReferencesDuringEditInPlace(self) -> bool: """ - 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. + Gets and sets if you can create associative references while editing + external components in context. """ - return float() - @glossiness.setter - def glossiness(self, value: float): + return bool() + @isAllowReferencesDuringEditInPlace.setter + def isAllowReferencesDuringEditInPlace(self, value: bool): """ - 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. + Gets and sets if you can create associative references while editing + external components in context. """ pass @property - def opacity(self) -> float: + def isEnableArrangeAndSimplifyTools(self) -> bool: """ - Gets and sets the opacity associated with this CustomGraphicsBasicMaterialColorEffect object. - A value of 1.0 is completely opaque and 0.0 is completely transparent. + 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 float() - @opacity.setter - def opacity(self, value: float): + return bool() + @isEnableArrangeAndSimplifyTools.setter + def isEnableArrangeAndSimplifyTools(self, value: bool): """ - Gets and sets the opacity associated with this CustomGraphicsBasicMaterialColorEffect object. - A value of 1.0 is completely opaque and 0.0 is completely transparent. + 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 + @property + def isFirstComponentGroundToParent(self) -> bool: + return bool() + @isFirstComponentGroundToParent.setter + def isFirstComponentGroundToParent(self, value: bool): + pass -class CustomGraphicsBRepBody(CustomGraphicsEntity): +class FusionUnitsManager(core.UnitsManager): """ - This represents custom graphics that are based on a BRepBody. + Utility class used to work with Values and control default design 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 flexibly via strings + (e.g. "cm", "in", "inch", "cm^3", "cm*cm*cm", "mph", "mps" "m/s"). """ def __init__(self): pass @staticmethod - def cast(arg) -> CustomGraphicsBRepBody: - return CustomGraphicsBRepBody() - @property - def faces(self) -> CustomGraphicsBRepFaces: - """ - Returns the collection of CustomGraphicsBRepFace objects in the CustomGraphicsBRepBody. - """ - return CustomGraphicsBRepFaces() + def cast(arg) -> FusionUnitsManager: + return FusionUnitsManager() @property - def edges(self) -> CustomGraphicsBRepEdges: + def design(self) -> Design: """ - Returns the collection of CustomGraphicsBRepEdge objects in the CustomGraphicsBRepBody. + Returns the parent design """ - return CustomGraphicsBRepEdges() + return Design() @property - def vertices(self) -> CustomGraphicsBRepVertices: + def distanceDisplayUnits(self) -> DistanceUnits: """ - Returns the collection of CustomGraphicsBRepVertex objects in the CustomGraphicsBRepBody. + Gets and sets the default distance units for this design. Setting this + property has the side effect of changing the unitSystem + property to custom. """ - return CustomGraphicsBRepVertices() - @property - def bRepBody(self) -> BRepBody: + return DistanceUnits() + @distanceDisplayUnits.setter + def distanceDisplayUnits(self, value: DistanceUnits): """ - Returns a transient BRepBody that is being displayed as custom graphics. + Gets and sets the default distance units for this design. Setting this + property has the side effect of changing the unitSystem + property to custom. """ - return BRepBody() - -class CustomGraphicsCurve(CustomGraphicsEntity): - """ - This represents custom graphics that are based on any object derived from Curve3D (except InfiniteLine3D). - This is useful when drawing curved geometry where the alternative is to stroke the smooth curve and draw - it as a series of lines. Using this you can directly use the curve and Fusion 360 will automatically take care - of creating the correct display for the current level of detail. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> CustomGraphicsCurve: - return CustomGraphicsCurve() @property - def curve(self) -> core.Curve3D: + def massDisplayUnits(self) -> MassUnits: """ - Gets and sets the curve associated with this graphics entity. Any of the curve types derived from Curve3D - is valid except for InfiniteLine3D. + Gets and sets the default mass units for this design. Setting this property + has the side effect of changing the unitSystem property to custom. """ - return core.Curve3D() - @curve.setter - def curve(self, value: core.Curve3D): + return MassUnits() + @massDisplayUnits.setter + def massDisplayUnits(self, value: MassUnits): """ - Gets and sets the curve associated with this graphics entity. Any of the curve types derived from Curve3D - is valid except for InfiniteLine3D. + Gets and sets the default mass units for this design. Setting this property + has the side effect of changing the unitSystem property to custom. """ pass @property - def weight(self) -> float: + def unitSystem(self) -> UnitSystems: """ - Defines the thickness of the curve in pixels. + Gets and sets the pre-defined combination of length and mass units to use for the + units in the design. The distanceDisplayUnits and massDisplayUnits properties provide + a way to get the current setting for distance and mass and to modify them to other values + besides the predefined combinations. When a custom unit system is specified, any combination + of distance and mass can be specified. """ - return float() - @weight.setter - def weight(self, value: float): + return UnitSystems() + @unitSystem.setter + def unitSystem(self, value: UnitSystems): """ - Defines the thickness of the curve in pixels. + Gets and sets the pre-defined combination of length and mass units to use for the + units in the design. The distanceDisplayUnits and massDisplayUnits properties provide + a way to get the current setting for distance and mass and to modify them to other values + besides the predefined combinations. When a custom unit system is specified, any combination + of distance and mass can be specified. """ pass -class CustomGraphicsGroup(CustomGraphicsEntity): +class HoleFeature(Feature): """ - Represents of group of custom graphics entities. A group can also own other graphics groups. + Object that represents an existing hole feature in a design. """ def __init__(self): pass @staticmethod - def cast(arg) -> CustomGraphicsGroup: - return CustomGraphicsGroup() - def item(self, index: int) -> CustomGraphicsEntity: + def cast(arg) -> HoleFeature: + return HoleFeature() + def setToSimple(self) -> bool: """ - Function that returns the specified custom graphics entity within this group. This also includes - any child graphics groups. - 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. + Calling this method will change the hole to a simple hole. + Returns true if changing the hole was successful. """ - return CustomGraphicsEntity() - def addGroup(self) -> CustomGraphicsGroup: + return bool() + def setToCounterbore(self, counterboreDiameter: core.ValueInput, counterboreDepth: core.ValueInput) -> bool: """ - Creates a new, empty CustomGraphicsGroup that is owned by this CustomGraphicsGroup. - Returns the new CustomGraphicsGroup object or null in the case of a failure. + Calling this method will change the hole to a counterbore hole. + + 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) + counterboreDiameter : A ValueInput object that defines the counterbore diameter. 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. "3 in"). If no units are specified + it is interpreted using the current default units for length. + counterboreDepth : A ValueInput object that defines the counterbore depth. 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. "3 in"). If no units are specified + it is interpreted using the current default units for length. + Returns true if changing the hole was successful. """ - return CustomGraphicsGroup() - def addMesh(self, coordinates: CustomGraphicsCoordinates, coordinateIndexList: list[int], normalVectors: list[float], normalIndexList: list[int]) -> CustomGraphicsMesh: + return bool() + def setToCountersink(self, countersinkDiameter: core.ValueInput, countersinkAngle: core.ValueInput) -> bool: """ - Adds a new CustomGraphicsMesh entity to this group. - coordinates : The CustomGraphicsCoordinates object that defines the coordinates of the vertices of the mesh. - A CustomGrahpicsCoordinates object can be created using the static create method of the CustomGraphicsCoordinates class. - coordinateIndexList : An array of integers that represent indices into the coordinates to define the vertices of the triangles. If an empty - array is provided, then it's assumed that the first three coordinates defines the first triangle, the next three define - the second triangle, and so on. - normalVectors : An array of doubles that represent the x, y, z components of the normals at each coordinate. There should be a normal defined - for each coordinate. If an empty array is provided for the normal vectors, Fusion 360 will automatically calculate normal vectors - that are 90 degrees to the face of the triangle, making it appear flat. - normalIndexList : An array of integers that represent indices into the normal vectors to define the which vector corresponds to which vertex. This - should be the same size as the vertex index list. If an empty array is input and normal vectors are provided, it is assumed that - the normals match up one-to-one to each coordinate. - Returns the new CustomGraphicsMesh object or null in the case of a failure. + Calling this method will change the hole to a countersink hole. + + 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) + countersinkDiameter : A ValueInput object that defines the countersink diameter. 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. "3 in"). If no units are specified + it is interpreted using the current default units for length. + countersinkAngle : A ValueInput object that defines the countersink angle. If the ValueInput uses + a real then it is interpreted as radians. If it is a string then the units + can be defined as part of the string (i.e. "120 deg"). If no units are specified + it is interpreted using the current default units for length. + Returns true if changing the hole was successful. """ - return CustomGraphicsMesh() - def addLines(self, coordinates: CustomGraphicsCoordinates, indexList: list[int], isLineStrip: bool, lineStripLengths: list[int]) -> CustomGraphicsLines: + return bool() + def setDistanceExtent(self, distance: core.ValueInput) -> bool: """ - Adds a new CustomGraphicsLines entity to this group. - coordinates : The CustomGraphicsCoordinates object that defines the coordinates of the vertices of the lines. - A CustomGraphicsCoordinates object can be created using the static create method of the CustomGraphicsCoordinates class. - indexList : An array of integers that represent indices into the coordinates to define the order the coordinates are used to draw the lines. - If an empty array is provided, the coordinates are used in the order they're provided in the provided CustomGraphicsCoordinates object. - isLineStrip : A boolean indicating if a series of individual lines or a connected set of lines (a line strip) is to be drawn. If individual lines - are drawn, (this argument is false), each pair of coordinates defines a single line. If a line strip is drawn, (this argument is true), - the first pair of coordinates define the first line and the third coordinate defines a line that connects to the second coordinate. - The fourth coordinate creates a line connecting to the third coordinate, and so on. - lineStripLengths : If isLineStrip is true, this argument is used to define the number of coordinates to use in each line strip. It is an array of integers - that defines the number of coordinates for each line strip. For example, if the array [4,10] is input, 4 coordinates are connected for - the first line strip and 10 are used to create a second line strip. If an empty array is provided, a single line strip is created. If - isLineStrip is False, this argument is ignored. - Returns the new CustomGraphicsLines object or null in the case of a failure. + Defines the depth of the hole using a specific distance. + + 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) + distance : The depth of the hole. If a real is specified the value is in centimeters. If a string is + specified the units are derived from the string. If no units are specified, the default + units of the document are used. + Returns true if setting the extent was successful. """ - return CustomGraphicsLines() - def addCurve(self, curve: core.Curve3D) -> CustomGraphicsCurve: + return bool() + def setAllExtent(self, direction: ExtentDirections) -> bool: """ - Adds a new CustomGraphicsCurve entity to this group. A CustomGraphicsCurve is a wireframe graphic - that is based on any object derived from Curve3D (except InfiniteLine3D). This is useful when - drawing curved geometry where the alternative is to stroke the smooth curve and draw it as a series - of lines. Using this you can directly use the curve and Fusion 360 will automatically take care of creating - the correct display for the current level of detail. - curve : The curve that defines the shape of the graphics entity. Any of the curve types derived from Curve3D - are valid except for InfiniteLine3D. - Returns the newly created CustomGraphicsCurve object or null in the case of failure. + Defines the extent of the hole to be through-all. The direction can be + either positive, negative. + + 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) + direction : The direction of the hole relative to the normal of the sketch plane. + Returns true if successful. """ - return CustomGraphicsCurve() - def addPointSet(self, coordinates: CustomGraphicsCoordinates, indexList: list[int], pointType: CustomGraphicsPointTypes, pointImage: str) -> CustomGraphicsPointSet: + return bool() + def setOneSideToExtent(self, toEntity: core.Base, matchShape: bool, directionHint: core.Vector3D = None) -> bool: """ - Adds a new CustomGraphicsPointSet entity to this group. This will be displayed as one or more points where - all of the points will display using the same image. - coordinates : The CustomGraphicsCoordinates object that defines the coordinates where the points will be displayed. - A CustomGraphicsCoordinates object can be created using the static create method of the CustomGraphicsCoordinates class. - indexList : An array of integers that represent indices into the coordinates to define which coordinates to use when drawing points. - If an empty array is provided, a point is drawn for every coordinate. - 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 - 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 - 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. + Sets the extent of the hole to be from the sketch plane to the specified "to" face. + + 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) + 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 a hole it can be a BRepBody, BRepFace, + BRepVertex, ConstructionPlane, or ConstructionPoint. + matchShape : Indicates if the hole is not contained on the face that the hole should match + the shape of the entity as if it extended beyond its current boundaries. + directionHint : Specifies the direction of the hole. This is only used in the case where there are two possible solutions and the hole can + hit the toEntity in either direction. + + Typically there is only a single solution and the direction is determined automatically. + Returns true if successful. """ - return CustomGraphicsPointSet() - def addText(self, formattedText: str, font: str, size: float, transform: core.Matrix3D) -> CustomGraphicsText: + return bool() + def setPositionByPoint(self, planarEntity: core.Base, point: core.Base) -> bool: """ - 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 - 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. - font : The name of the font to use when displaying the text. - size : The size of the text in centimeters. - transform : Transformation matrix that specifies the position and orientation of the text in model space. The origin of the text - is the upper-left corner. - Returns the newly created CustomGraphicsText object or null in the case of failure. + Redefines the position of a the hole using a point. The point can be a vertex on the face + or it can be a Point3D object to define any location on the face. If a Point3D object is + provided it will be projected onto the plane along the planes normal. The orientation of the + hole is defined by the planar face or construction plane. If a vertex is used, the position of + the hole is associative to that vertex. If a Point3D object is used the position of the hole + is not associative. + + 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) + planarEntity : The planar BRepFace or ConstructionPlane object that defines the orientation of the hole. + The natural direction of the hole will be opposite the normal of the face or construction plane. + point : A Point3D object or vertex that defines the position of the hole. The point will be projected + onto the plane along the normal of the plane. + Returns true if successful. """ - return CustomGraphicsText() - def addBRepBody(self, body: BRepBody) -> CustomGraphicsBRepBody: + return bool() + def setPositionAtCenter(self, planarEntity: core.Base, centerEdge: BRepEdge) -> bool: """ - Adds a new CustomGraphicsBRepBody object to this group. This displays a real or transient BRepBody - object as custom graphics. No relationship exists back to the original input body so if it is - changed, the custom graphics will not change. + Redefines the position of the hole at the center of a circular or elliptical edge of the face. - The body associated with the CustomGraphicsBRep body is a copy of the original input body. Equivalent - Faces, Edges, and vertices can be found by using the indexes in the collection. For example if you have - a face of the original body and find that it is at index 24 in the BRepFaces collection of that body, - the equivalent face in the custom graphics body will also be at index 24. This works as long as the original - body is not modified in any way. - body : The real or transient BRepBody object to draw using custom graphics. - Returns the newly created CustomGraphicsBRepBody object or null in the case of failure. + 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) + planarEntity : The planar BRepFace or ConstructionPlane object that defines the orientation of the hole. + The natural direction of the hole will be opposite the normal of the face or construction plane. + centerEdge : A circular or elliptical edge whose center point will be the position of the hole. + Returns true if successful. """ - return CustomGraphicsBRepBody() - @property - def count(self) -> int: + return bool() + def setPositionBySketchPoint(self, sketchPoint: SketchPoint) -> bool: """ - Returns the number of graphics entities within the group. + Redefines the position and orientation of the hole using a sketch point. + + 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) + sketchPoint : The sketch point that defines the position of the hole. The orientation is + inferred from the normal of the point's parent sketch. The natural direction will be + opposite the normal of the sketch. + Returns true if successful. """ - return int() - -class CustomGraphicsLines(CustomGraphicsEntity): - """ - Represents lines drawn in the graphics window. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> CustomGraphicsLines: - return CustomGraphicsLines() - @property - def coordinates(self) -> CustomGraphicsCoordinates: + return bool() + def setPositionBySketchPoints(self, sketchPoints: core.ObjectCollection) -> bool: """ - Gets and sets the CustomGraphicsCoordinates object that defines the coordinates of the vertices of the lines. - A CustomGraphicsCoordinates object can be created using the static create method of the CustomGraphicsCoordinates class. + Redefines the position and orientation of the hole using a set of points. + + 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) + sketchPoints : A collection of sketch points that defines the positions of the holes. The orientation is + inferred from the normal of the point's parent sketch. The natural direction will be + opposite the normal of the sketch. All of the points must be in the same sketch. + Returns true if successful. """ - return CustomGraphicsCoordinates() - @coordinates.setter - def coordinates(self, value: CustomGraphicsCoordinates): + return bool() + def setPositionByPlaneAndOffsets(self, planarEntity: core.Base, point: core.Point3D, edgeOne: BRepEdge, offsetOne: core.ValueInput, edgeTwo: BRepEdge = None, offsetTwo: core.ValueInput = None) -> bool: """ - Gets and sets the CustomGraphicsCoordinates object that defines the coordinates of the vertices of the lines. - A CustomGraphicsCoordinates object can be created using the static create method of the CustomGraphicsCoordinates class. + 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. + + 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) + planarEntity : The planar BRepFace or ConstructionPlane object that defines the orientation of the hole. + The natural direction of the hole will be opposite the normal of the face or construction plane. + point : A Point3D object that defines the approximate initial position of the hole. The point will be + 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. + 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 + 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. "3 in"). If no units are specified + it is interpreted using the current default units for length. + edgeTwo : You can optionally define a second edge and offset to specify the position of the hole. If you use a + second edge it has the same requirements as the edgeOne argument. If you provide a second edge you + must also provide the offsetTwo argument. + offsetTwo : If edgeTwo is defined, you must provide this argument which is a ValueInput object that + defines the offset from the edgeTwo. 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. "3 in"). If no units are specified it is interpreted using the current default units + for length. + Returns true if successful. """ - pass - @property - def indexList(self) -> list[int]: + return bool() + def setPositionOnEdge(self, planarEntity: core.Base, edge: BRepEdge, position: HoleEdgePositions) -> bool: """ - Gets and sets an array of integers that represent indices into the coordinates to define the order the coordinates are used to draw the lines. - An empty array indicates that no index list is used and coordinates are used in the order they're provided in the provided CustomGraphicsCoordinates object. + Redefines the position and orientation of the hole to be on the start, end or center of an edge. + + 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) + planarEntity : The planar BRepFace or ConstructionPlane object that defines the orientation of the hole + and start of the hole. The natural direction of the hole will be opposite the normal of + the face or construction plane. + edge : The edge to position the hole on. + position : The position along the edge to place the hole. + Returns true if successful. + """ + return bool() + def createForAssemblyContext(self, occurrence: Occurrence) -> HoleFeature: + """ + 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 HoleFeature() + def setToSimpleHole(self) -> bool: + """ + This method sets the hole's tap to be "simple," which means that the hole will not have any + tap and will be a simple hole. + Returns true if successful. """ - return [int()] - @indexList.setter - def indexList(self, value: list[int]): + return bool() + def setToClearanceHole(self, clearanceHoleInfo: ClearanceHoleInfo) -> bool: """ - Gets and sets an array of integers that represent indices into the coordinates to define the order the coordinates are used to draw the lines. - An empty array indicates that no index list is used and coordinates are used in the order they're provided in the provided CustomGraphicsCoordinates object. + Sets the hole to be a clearance hole of the size specified by the ClearanceHoleInfo object. + clearanceHoleInfo : The ClearanceHoleInfo object that specifies the size of the clearance hole. + Returns true if setting to a clearance hole was successful. """ - pass - @property - def isLineStrip(self) -> bool: + return bool() + def setToTappedHole(self, threadInfo: ThreadInfo) -> bool: """ - Defines if the coordinates are used to define a series of individual lines or a connected set of lines (line strip). If individual lines - are drawn (this property is false), each pair of coordinates define a single line. If a line strip is drawn (this property is true), - the first pair of coordinates define the first line and the third coordinate defines a line that connects to the second coordinate. - The fourth coordinate creates a line connecting to the third coordinate, and so on. + Sets the hole to be a straight or tapered tapped hole of the size specified by the ThreadInfo object. + threadInfo : The ThreadInfo object that specifies the thread to use for the tapped hole. Whether it is straight + or tapered tap is defined by the input ThreadInfo object. + Returns true if setting to a tapped hole was successful. """ return bool() - @isLineStrip.setter - def isLineStrip(self, value: bool): + @property + def position(self) -> core.Point3D: """ - Defines if the coordinates are used to define a series of individual lines or a connected set of lines (line strip). If individual lines - are drawn (this property is false), each pair of coordinates define a single line. If a line strip is drawn (this property is true), - the first pair of coordinates define the first line and the third coordinate defines a line that connects to the second coordinate. - The fourth coordinate creates a line connecting to the third coordinate, and so on. + Returns the position of the hole. """ - pass + return core.Point3D() @property - def lineStripLengths(self) -> list[int]: + def direction(self) -> core.Vector3D: """ - If isLineStrip is true, this property defines the number of coordinates to use in the line strips. It is an array of integers - that defines the number of coordinates for each line strip. An empty array indicates that a single line strip is to be drawn. + Returns the direction of the hole. """ - return [int()] - @lineStripLengths.setter - def lineStripLengths(self, value: list[int]): + return core.Vector3D() + @property + def holeType(self) -> HoleTypes: """ - If isLineStrip is true, this property defines the number of coordinates to use in the line strips. It is an array of integers - that defines the number of coordinates for each line strip. An empty array indicates that a single line strip is to be drawn. + Returns the current type of hole this feature represents. """ - pass + return HoleTypes() @property - def weight(self) -> float: + def holeDiameter(self) -> ModelParameter: """ - Defines the thickness of the line in pixels. + Returns the model parameter controlling the hole diameter. The diameter of + the hole can be edited through the returned parameter object. + + If there is a thread associated with the hole the thread definition controls + the diameter of the hole. Even though there is a parameter for the diameter, + its value is ignored when there is a thread. """ - return float() - @weight.setter - def weight(self, value: float): + return ModelParameter() + @property + def tipAngle(self) -> ModelParameter: """ - Defines the thickness of the line in pixels. + Returns the model parameter controlling the angle of the tip of the hole. The tip angle of + the hole can be edited through the returned parameter object. """ - pass + return ModelParameter() @property - def lineStyleScale(self) -> float: + def counterboreDiameter(self) -> ModelParameter: """ - 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. + Returns the model parameter controlling the counterbore diameter. + This will return null in the case the hole type is not a counterbore. + The diameter of the counterbore can be edited through the returned parameter. """ - return float() - @lineStyleScale.setter - def lineStyleScale(self, value: float): + return ModelParameter() + @property + def counterboreDepth(self) -> ModelParameter: """ - 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. + Returns the model parameter controlling the counterbore depth. + This will return null in the case the hole type is not a counterbore. + The depth of the counterbore can be edited through the returned parameter. """ - pass + return ModelParameter() @property - def isScreenSpaceLineStyle(self) -> bool: + def countersinkDiameter(self) -> ModelParameter: """ - Specifies if the line style is computed based on the screen or model space. The default is - based on the screen which means the style is drawn the same regardless of how you zoom in - or out of the view. That is the length of lines and spaces are based on pixels. If it - is drawn relative to model space then the lines and spaces are defined in centimeters and - will zooming in and out will change the apparent spacing. + Returns the model parameter controlling the countersink diameter. + This will return null in the case the hole type is not a countersink. + The diameter of the countersink can be edited through the returned parameter. """ - return bool() - @isScreenSpaceLineStyle.setter - def isScreenSpaceLineStyle(self, value: bool): + return ModelParameter() + @property + def countersinkAngle(self) -> ModelParameter: """ - Specifies if the line style is computed based on the screen or model space. The default is - based on the screen which means the style is drawn the same regardless of how you zoom in - or out of the view. That is the length of lines and spaces are based on pixels. If it - is drawn relative to model space then the lines and spaces are defined in centimeters and - will zooming in and out will change the apparent spacing. + Returns the model parameter controlling the countersink angle. + This will return null in the case the hole type is not a countersink. + The angle of the countersink can be edited through the returned parameter. """ - pass + return ModelParameter() @property - def lineStylePattern(self) -> LineStylePatterns: + def isDefaultDirection(self) -> bool: """ - The line style to apply to the line. The default is to draw a continuous line. + Gets and sets if the hole is in the default direction or not. """ - return LineStylePatterns() - @lineStylePattern.setter - def lineStylePattern(self, value: LineStylePatterns): + return bool() + @isDefaultDirection.setter + def isDefaultDirection(self, value: bool): """ - The line style to apply to the line. The default is to draw a continuous line. + Gets and sets if the hole is in the default direction or not. """ pass - -class CustomGraphicsMesh(CustomGraphicsEntity): - """ - Represents a custom triangle mesh drawn in the graphics window. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> CustomGraphicsMesh: - return CustomGraphicsMesh() @property - def coordinates(self) -> CustomGraphicsCoordinates: + def extentDefinition(self) -> ExtentDefinition: """ - Gets and sets the coordinates associated with this CustomGraphicsMesh. + Gets the definition object that is defining the extent of the hole. Modifying the + definition object will cause the hole to recompute. The extent type of a hole + is currently limited to a distance extent. """ - return CustomGraphicsCoordinates() - @coordinates.setter - def coordinates(self, value: CustomGraphicsCoordinates): + return ExtentDefinition() + @property + def endFaces(self) -> BRepFaces: """ - Gets and sets the coordinates associated with this CustomGraphicsMesh. + Property that returns the faces at the bottom of the hole. This will typically be a single face + but could return more than one face in the case where the bottom of the hole is uneven. """ - pass + return BRepFaces() @property - def normalVectors(self) -> list[float]: + def sideFaces(self) -> BRepFaces: """ - Gets and sets the normal vectors of the mesh where there is a normal - vector at each node. The normals are defined as an array - of floats where they are the x, y, z components of each vector. + Property that returns all of the side faces of the hole. """ - return [float()] - @normalVectors.setter - def normalVectors(self, value: list[float]): + return BRepFaces() + @property + def holePositionDefinition(self) -> HolePositionDefinition: """ - Gets and sets the normal vectors of the mesh where there is a normal - vector at each node. The normals are defined as an array - of floats where they are the x, y, z components of each vector. + Returns a HolePositionDefinition object that provides access to the information used + to define the position of the hole. This returns null in the case where IsParametric + is false. """ - pass + return HolePositionDefinition() @property - def vertexIndexList(self) -> list[int]: + def nativeObject(self) -> HoleFeature: """ - 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 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. + 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 [int()] - @vertexIndexList.setter - def vertexIndexList(self, value: list[int]): + return HoleFeature() + @property + def participantBodies(self) -> list[BRepBody]: """ - 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 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. + 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 @property - def normalIndexList(self) -> list[int]: + def holeTapType(self) -> HoleTapTypes: """ - Gets and sets an array of indices that define which normal is associated - with each vertex in the mesh. This is used to look-up the normal in the - normalVectors array. + This property returns the current type of tap associated with this hole. You can set the tap type + by using one of the following methods: setToSimpleHole, setToClearanceHole, or setToTappedHole. """ - return [int()] - @normalIndexList.setter - def normalIndexList(self, value: list[int]): + return HoleTapTypes() + @property + def clearanceHoleInfo(self) -> ClearanceHoleInfo: """ - Gets and sets an array of indices that define which normal is associated - with each vertex in the mesh. This is used to look-up the normal in the - normalVectors array. + Returns the information used to define a clearance hole. This returns a + ClearanceHoleInfo object when the holeTapType returns ClearanceHoleTapType. Otherwise + this property returns null. """ - pass + return ClearanceHoleInfo() @property - def textureCoordinates(self) -> list[float]: + def tappedHoleInfo(self) -> ThreadInfo: """ - Gets and sets the texture coordinates as an array of floats where - they are the u,v components at each node. They are defined as an - array of doubles where they are the u, v coordinates of each node. - Defining texture coordinates for a mesh is optional. + This property returns the information used to define a tapped hole. + Otherwise, this property returns null. """ - return [float()] - @textureCoordinates.setter - def textureCoordinates(self, value: list[float]): + return ThreadInfo() + @property + def thread(self) -> ThreadFeature: """ - Gets and sets the texture coordinates as an array of floats where - they are the u,v components at each node. They are defined as an - array of doubles where they are the u, v coordinates of each node. - Defining texture coordinates for a mesh is optional. + When a tapped hole is created, a thread feature is also automatically created and controls + the tapped threads. The thread feature is tied to the hole and is not displayed in the timeline + and is suppressed if the hole is suppressed and deleted if the hole is deleted. This property + returns the thread feature associated with this hole if it is a tapped hole. It returns null + for all other hole types. """ - pass + return ThreadFeature() -class CustomGraphicsPointSet(CustomGraphicsEntity): +class HorizontalConstraint(GeometricConstraint): """ - Represents a set of one or more custom graphics points all of the same style. + A horizontal constraint in a sketch. """ def __init__(self): pass @staticmethod - def cast(arg) -> CustomGraphicsPointSet: - return CustomGraphicsPointSet() - @property - def coordinates(self) -> CustomGraphicsCoordinates: - """ - Gets and sets the coordinates used to define the position of the custom graphics points. - If no indexList is specified, every coordinate will be drawn using a custom graphics point, - """ - return CustomGraphicsCoordinates() - @coordinates.setter - def coordinates(self, value: CustomGraphicsCoordinates): + def cast(arg) -> HorizontalConstraint: + return HorizontalConstraint() + def createForAssemblyContext(self, occurrence: Occurrence) -> HorizontalConstraint: """ - Gets and sets the coordinates used to define the position of the custom graphics points. - If no indexList is specified, every coordinate will be drawn using a custom graphics point, + 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. """ - pass + return HorizontalConstraint() @property - def indexList(self) -> list[int]: + def line(self) -> SketchLine: """ - An list of indices that specify which coordinates from the coordinate list to draw points for. - If this is an empty array, then all of the coordinates are used. + Returns the line being constrained. """ - return [int()] - @indexList.setter - def indexList(self, value: list[int]): + return SketchLine() + @property + def nativeObject(self) -> HorizontalConstraint: """ - An list of indices that specify which coordinates from the coordinate list to draw points for. - If this is an empty array, then all of the coordinates are used. + 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 HorizontalConstraint() + +class HorizontalPointsConstraint(GeometricConstraint): + """ + A horizontal constraint between two points in a sketch. + """ + def __init__(self): pass - @property - def pointImage(self) -> str: + @staticmethod + def cast(arg) -> HorizontalPointsConstraint: + return HorizontalPointsConstraint() + def createForAssemblyContext(self, occurrence: Occurrence) -> HorizontalPointsConstraint: """ - 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 - 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. + 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 str() - @pointImage.setter - def pointImage(self, value: str): + return HorizontalPointsConstraint() + @property + def pointOne(self) -> SketchPoint: """ - 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 - 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. + Returns the first point. """ - pass + return SketchPoint() @property - def pointType(self) -> CustomGraphicsPointTypes: + def pointTwo(self) -> SketchPoint: """ - Specifies which of the pre-defined 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. + Returns the second point. """ - return CustomGraphicsPointTypes() - @pointType.setter - def pointType(self, value: CustomGraphicsPointTypes): + return SketchPoint() + @property + def nativeObject(self) -> HorizontalPointsConstraint: """ - Specifies which of the pre-defined 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. + 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 HorizontalPointsConstraint() + +class IGESExportOptions(ExportOptions): + """ + Defines that an IGES export is to be done and specifies the various options. + """ + def __init__(self): pass + @staticmethod + def cast(arg) -> IGESExportOptions: + return IGESExportOptions() -class CustomGraphicsShowThroughColorEffect(CustomGraphicsColorEffect): +class IsoCurveAnalysis(Analysis): """ - One of the types of color effects that can be applied to a custom graphics entity. With this - type of effect, the graphics entity will display using the specified color and will show through - other graphics that are in front of it. + Represents any existing Iso Curve Analysis that exist in the design. """ def __init__(self): pass @staticmethod - def cast(arg) -> CustomGraphicsShowThroughColorEffect: - return CustomGraphicsShowThroughColorEffect() + 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 create(color: core.Color, opacity: float) -> CustomGraphicsShowThroughColorEffect: + def cast(arg) -> LineOnPlanarSurfaceConstraint: + return LineOnPlanarSurfaceConstraint() + def createForAssemblyContext(self, occurrence: Occurrence) -> LineOnPlanarSurfaceConstraint: """ - 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 - 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. - Returns the newly created CustomGraphicsShowThroughColorEffect object or null in the case of failure. This can be assigned - to a custom graphics entity using its showThrough property. + 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 CustomGraphicsShowThroughColorEffect() + return LineOnPlanarSurfaceConstraint() @property - def color(self) -> core.Color: - """ - Gets and sets the color associated with this CustomGraphicsShowThroughColorEffect object. The color that will be used to render - the portion of the entity that is covered by other objects in the scene. - """ - return core.Color() - @color.setter - def color(self, value: core.Color): + def line(self) -> SketchLine: """ - Gets and sets the color associated with this CustomGraphicsShowThroughColorEffect object. The color that will be used to render - the portion of the entity that is covered by other objects in the scene. + Returns the SketchLine object that is constrained. """ - pass + return SketchLine() @property - def opacity(self) -> float: + def planarSurface(self) -> core.Base: """ - Gets and sets the opacity value associated with this CustomGraphicsShowThroughColorEffect object. The opacity is used when rendering - the portion of the entity that is covered by other objects in the scene. This can be a value between 0 and 1, where 1 is - fully opaque and will completely cover any other entities. + Returns the planar BRepFace or ConstructionPlane the line is constrained to lie on. """ - return float() - @opacity.setter - def opacity(self, value: float): + return core.Base() + @property + def nativeObject(self) -> LineOnPlanarSurfaceConstraint: """ - Gets and sets the opacity value associated with this CustomGraphicsShowThroughColorEffect object. The opacity is used when rendering - the portion of the entity that is covered by other objects in the scene. This can be a value between 0 and 1, where 1 is - fully opaque and will completely cover any other entities. + 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. """ - pass + return LineOnPlanarSurfaceConstraint() -class CustomGraphicsSolidColorEffect(CustomGraphicsColorEffect): +class LineParallelToPlanarSurfaceConstraint(GeometricConstraint): """ - One of the types of color effects that can be applied to a custom graphics entity. With this - type of effect, the graphics entity will display as the single color without any lighting - effects. For example, a sphere will display as a solid filled circle without any shading - indicating it is actually spherical. + A sketch constraint defining that a line is parallel to a planar face or construction plane. """ def __init__(self): pass @staticmethod - def cast(arg) -> CustomGraphicsSolidColorEffect: - return CustomGraphicsSolidColorEffect() - @staticmethod - def create(color: core.Color) -> CustomGraphicsSolidColorEffect: + def cast(arg) -> LineParallelToPlanarSurfaceConstraint: + return LineParallelToPlanarSurfaceConstraint() + def createForAssemblyContext(self, occurrence: Occurrence) -> LineParallelToPlanarSurfaceConstraint: """ - Statically creates a new CustomGraphicsSolidColorEffect object. This can be used as input - when creating various color related custom graphics attributes. A solid color effect, - 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. - Returns the created CustomGraphicsSolidColorEffect or null in case of a failure. + 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 CustomGraphicsSolidColorEffect() + return LineParallelToPlanarSurfaceConstraint() @property - def color(self) -> core.Color: + def line(self) -> SketchLine: """ - 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. + Returns the SketchLine object that is constrained. """ - return core.Color() - @color.setter - def color(self, value: core.Color): + return SketchLine() + @property + def planarSurface(self) -> core.Base: """ - 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. + 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. + """ + def __init__(self): pass + @staticmethod + def cast(arg) -> LoftDirectionEndCondition: + return LoftDirectionEndCondition() + @property + def angle(self) -> core.Base: + """ + Gets the valueInput or Parameter that defines the angle of the direction of the loft. + If this object was obtained from a LoftFeatureInput object then this will return a + valueInput object with the initial value provided. If this object was obtained from + an exiting LoftFeature then it returns a Parameter. In the case of a parameter, to change the angle, + edit the value of the associated parameter. + """ + return core.Base() + @property + def weight(self) -> core.Base: + """ + Gets the valueInput or Parameter that defines the weight of the loft. + If this object was obtained from a LoftFeatureInput object then this will return a + valueInput object with the initial value provided. If this object was obtained from + an exiting LoftFeature then it returns a Parameter. In the case of a parameter, to change the weight, + edit the value of the associated parameter. + """ + return core.Base() -class CustomGraphicsText(CustomGraphicsEntity): +class LoftFeature(Feature): """ - Represents text drawn in the graphics window. The default position of the text is at (0,0,0) and - orientation is the text lying on the x-y plane. To reposition and reorient the text you can use - the transformation property. + Object that represents an existing loft feature in a design. """ def __init__(self): pass @staticmethod - def cast(arg) -> CustomGraphicsText: - return CustomGraphicsText() + def cast(arg) -> LoftFeature: + return LoftFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> LoftFeature: + """ + 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 LoftFeature() @property - def formattedText(self) -> str: + def loftSections(self) -> LoftSections: """ - Gets and sets the formatted text definition. This is the full string, including the - formatting information, that's used to define the displayed text. + Returns the set of sections that the loft passes through. + + This property returns null in the case where the feature is non-parametric. """ - return str() - @formattedText.setter - def formattedText(self, value: str): + return LoftSections() + @property + def centerLineOrRails(self) -> LoftCenterLineOrRails: """ - Gets and sets the formatted text definition. This is the full string, including the - formatting information, that's used to define the displayed text. + Returns the single centerline or the set of rails that define the shape of the loft. + + This property returns null in the case where the feature is non-parametric. + """ + return LoftCenterLineOrRails() + @property + def startFace(self) -> BRepFace: + """ + Property that returns the face that caps the start of the loft and is coincident + with the first section. In the case where the loft isn't capped and there isn't + a start face, this property will return null. + """ + return BRepFace() + @property + def endFace(self) -> BRepFace: + """ + Property that returns the face that caps the end of the loft and is coincident + with the last section. In the case where the loft isn't capped and there isn't an end face, + this property will return null. + """ + return BRepFace() + @property + def sideFaces(self) -> BRepFaces: """ - pass + Property that returns all of the side faces (i.e. those running through the sections) + of the feature. + """ + return BRepFaces() @property - def font(self) -> str: + def operation(self) -> FeatureOperations: """ - Gets and sets the font used to display the text. This is the default font and applies to - all of text unless there is a font override defined within the text. + Gets and sets the type of operation performed by the extrusion. + + 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 str() - @font.setter - def font(self, value: str): + return FeatureOperations() + @operation.setter + def operation(self, value: FeatureOperations): """ - Gets and sets the font used to display the text. This is the default font and applies to - all of text unless there is a font override defined within the text. + Gets and sets the type of operation performed by the extrusion. + + 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 isItalic(self) -> bool: + def isSolid(self) -> bool: """ - Specifies that the text displays using an italic style. This is the default italic style and applies to - all of text unless there is a style override defined within the text. + Indicates if this feature was initially created as a solid or a surface. """ return bool() - @isItalic.setter - def isItalic(self, value: bool): + @property + def nativeObject(self) -> LoftFeature: """ - Specifies that the text displays using an italic style. This is the default italic style and applies to - all of text unless there is a style override defined within the text. + 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. """ - pass + return LoftFeature() @property - def isBold(self) -> bool: + def participantBodies(self) -> list[BRepBody]: """ - Specifies that the text displays using a bold style. This is the default bold style and applies to - all of text unless there is a style override defined within the text. + 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 bool() - @isBold.setter - def isBold(self, value: bool): + return [BRepBody()] + @participantBodies.setter + def participantBodies(self, value: list[BRepBody]): """ - Specifies that the text displays using a bold style. This is the default bold style and applies to - all of text unless there is a style override defined within the text. + 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 @property - def isUnderline(self) -> bool: + def isClosed(self) -> bool: """ - Specifies that the text displays using an underline style. This is the default underline style and applies to - all of text unless there is a style override defined within the text. + Specifies if the loft closes back on itself. In other words, the first section is also + used as the last section. """ return bool() - @isUnderline.setter - def isUnderline(self, value: bool): + @isClosed.setter + def isClosed(self, value: bool): """ - Specifies that the text displays using an underline style. This is the default underline style and applies to - all of text unless there is a style override defined within the text. + Specifies if the loft closes back on itself. In other words, the first section is also + used as the last section. """ pass @property - def isStrikeThrough(self) -> bool: + def isTangentEdgesMerged(self) -> bool: """ - Specifies that the text displays using a strike through style. This is the default strike through style and applies to - all of text unless there is a style override defined within the text. + Specifies if the loft will keep or merge tangent edges. These are edges between tangent + faces in the resulting loft surface. If true, the faces will be merged so the connecting + edge no longer exists """ return bool() - @isStrikeThrough.setter - def isStrikeThrough(self, value: bool): + @isTangentEdgesMerged.setter + def isTangentEdgesMerged(self, value: bool): """ - Specifies that the text displays using a strike through style. This is the default strike through style and applies to - all of text unless there is a style override defined within the text. + Specifies if the loft will keep or merge tangent edges. These are edges between tangent + faces in the resulting loft surface. If true, the faces will be merged so the connecting + edge no longer exists """ pass @property - def size(self) -> float: + def startLoftEdgeAlignment(self) -> LoftEdgeAlignments: """ - Gets and sets the size of the text in centimeters. This is the default size and applies to - all of text unless there is a size override defined within the text. + Specifies the start edge alignment option for the loft feature. The default is Free Edges. """ - return float() - @size.setter - def size(self, value: float): + return LoftEdgeAlignments() + @startLoftEdgeAlignment.setter + def startLoftEdgeAlignment(self, value: LoftEdgeAlignments): """ - Gets and sets the size of the text in centimeters. This is the default size and applies to - all of text unless there is a size override defined within the text. + Specifies the start edge alignment option for the loft feature. The default is Free Edges. """ pass @property - def width(self) -> float: + def endLoftEdgeAlignment(self) -> LoftEdgeAlignments: """ - The actual width of the text in centimeters. This is useful when you want to position several - GraphicsText objects together. + Specifies the end edge alignment option for the loft feature. The default is Free Edges. """ - return float() - @property - def height(self) -> float: + return LoftEdgeAlignments() + @endLoftEdgeAlignment.setter + def endLoftEdgeAlignment(self, value: LoftEdgeAlignments): """ - The actual height of the text in centimeters. This is useful when you want to position several - GraphicsText objects together. + Specifies the end edge alignment option for the loft feature. The default is Free Edges. """ - return float() + pass -class CustomGraphicsVertexColorEffect(CustomGraphicsColorEffect): +class LoftFreeEndCondition(LoftEndCondition): """ - One of the types of color effects that can be applied to a custom graphics entity. With this - type of effect, the graphics entity will display using the colors associated with the vertices - of the mesh in the CustomGraphicsCoordinates object. + Represents a "Free" loft end condition. """ def __init__(self): pass @staticmethod - def cast(arg) -> CustomGraphicsVertexColorEffect: - return CustomGraphicsVertexColorEffect() + def cast(arg) -> LoftFreeEndCondition: + return LoftFreeEndCondition() + +class LoftPointSharpEndCondition(LoftEndCondition): + """ + Represents a "Point Sharp" loft end condition. + """ + def __init__(self): + pass @staticmethod - def create() -> CustomGraphicsVertexColorEffect: + def cast(arg) -> LoftPointSharpEndCondition: + return LoftPointSharpEndCondition() + +class LoftPointTangentEndCondition(LoftEndCondition): + """ + Represents a "Point Tangent" loft end condition. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> LoftPointTangentEndCondition: + return LoftPointTangentEndCondition() + @property + def weight(self) -> core.Base: """ - Statically creates a new CustomGraphicsVertexColorEffect object. - Returns the created CustomGraphicsVertexColorEffect or null in case of a failure. + Gets the valueInput or Parameter that defines the weight of the loft. + If this object was obtained from a LoftFeatureInput object then this will return a + valueInput object with the initial value provided. If this object was obtained from + an exiting LoftFeature then it returns a Parameter. In the case of a parameter, to change the weight, + edit the value of the associated parameter. """ - return CustomGraphicsVertexColorEffect() + return core.Base() -class CutPasteBody(Feature): +class LoftSmoothEndCondition(LoftEndCondition): """ - Object that represents an existing Cut/Paste Body feature in a design. + Represents a "Smooth" loft end condition. """ def __init__(self): pass @staticmethod - def cast(arg) -> CutPasteBody: - return CutPasteBody() + def cast(arg) -> LoftSmoothEndCondition: + return LoftSmoothEndCondition() @property - def sourceBody(self) -> core.ObjectCollection: + def weight(self) -> core.Base: """ - Returns the bodies that were cut to create the result bodies of this feature. An ObjectCollection - is returned that will contain the original bodies. It's possible that the collection can be empty - or contain less than the number of bodies originally copied. This happens in the case where a body - has been deleted or consumed by some other operation. - - 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) + Gets the valueInput or Parameter that defines the weight of the loft. + If this object was obtained from a LoftFeatureInput object then this will return a + valueInput object with the initial value provided. If this object was obtained from + an exiting LoftFeature then it returns a Parameter. In the case of a parameter, to change the weight, + edit the value of the associated parameter. """ - return core.ObjectCollection() + return core.Base() -class CylinderFeature(Feature): +class LoftTangentEndCondition(LoftEndCondition): """ - Object that represents an existing cylinder feature in a design. + Represents a "Tangent" loft end condition. """ def __init__(self): pass @staticmethod - def cast(arg) -> CylinderFeature: - return CylinderFeature() + def cast(arg) -> LoftTangentEndCondition: + return LoftTangentEndCondition() + @property + def weight(self) -> core.Base: + """ + Gets the valueInput or Parameter that defines the weight of the loft. + If this object was obtained from a LoftFeatureInput object then this will return a + valueInput object with the initial value provided. If this object was obtained from + an exiting LoftFeature then it returns a Parameter. In the case of a parameter, to change the weight, + edit the value of the associated parameter. + """ + return core.Base() -class CylindricalJointMotion(JointMotion): +class MeshConvertFeature(Feature): """ - Represents the set of information specific to a cylindrical joint. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Object that represents an existing mesh convert feature in a design. + To change the properties of this 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) """ def __init__(self): pass @staticmethod - def cast(arg) -> CylindricalJointMotion: - return CylindricalJointMotion() + def cast(arg) -> MeshConvertFeature: + return MeshConvertFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> MeshConvertFeature: + """ + 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 MeshConvertFeature() @property - def rotationAxis(self) -> JointDirections: + def inputBodies(self) -> list[MeshBody]: """ - Gets and sets the direction of the axis of rotation. This can be set to - XAxisJointDirection, YAxisJointDirection, or ZAxisJointDirection. It can - return those three directions and CustomJointDirection. If this returns - CustomJointDirection then the customRotationAxisEntity will return an entity - that defines the axis. If there is a custom rotation axis defined and this - property is set to one of the three standard axes, the custom rotation will - be removed and customRotationAxisEntity will return null. + Gets and sets the input meshes. """ - return JointDirections() - @rotationAxis.setter - def rotationAxis(self, value: JointDirections): + return [MeshBody()] + @inputBodies.setter + def inputBodies(self, value: list[MeshBody]): """ - Gets and sets the direction of the axis of rotation. This can be set to - XAxisJointDirection, YAxisJointDirection, or ZAxisJointDirection. It can - return those three directions and CustomJointDirection. If this returns - CustomJointDirection then the customRotationAxisEntity will return an entity - that defines the axis. If there is a custom rotation axis defined and this - property is set to one of the three standard axes, the custom rotation will - be removed and customRotationAxisEntity will return null. + Gets and sets the input meshes. """ pass @property - def rotationAxisVector(self) -> core.Vector3D: + def meshConvertMethodType(self) -> MeshConvertMethodTypes: """ - Returns the direction of the rotation axis. This property will return null in the case - where the CylindricalJointMotion object was obtained from a JointInput object. + Gets and sets the convert type of mesh convert. """ - return core.Vector3D() + return MeshConvertMethodTypes() + @meshConvertMethodType.setter + def meshConvertMethodType(self, value: MeshConvertMethodTypes): + """ + Gets and sets the convert type of mesh convert. + """ + pass @property - def customRotationAxisEntity(self) -> core.Base: + def meshConvertResolutionType(self) -> MeshConvertResolutionTypes: """ - This property can be set using various types of entities that can infer an - axis. For example, a linear edge, sketch line, planar face, and cylindrical face. - This property is only valid in the case where the rotationAxis property returns - CustomJointDirection. Setting this property will automatically set - the rotationAxis property to CustomJointDirection. - - To set this property, you need to position the timeline marker to immediately before this joint. - This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) + Gets and sets the resolution method of mesh convert. + Only valid if meshConvertMethodType is OrganicMeshConvertMethodType. """ - return core.Base() - @customRotationAxisEntity.setter - def customRotationAxisEntity(self, value: core.Base): + return MeshConvertResolutionTypes() + @meshConvertResolutionType.setter + def meshConvertResolutionType(self, value: MeshConvertResolutionTypes): """ - This property can be set using various types of entities that can infer an - axis. For example, a linear edge, sketch line, planar face, and cylindrical face. - This property is only valid in the case where the rotationAxis property returns - CustomJointDirection. Setting this property will automatically set - the rotationAxis property to CustomJointDirection. - - To set this property, you need to position the timeline marker to immediately before this joint. - This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) + Gets and sets the resolution method of mesh convert. + Only valid if meshConvertMethodType is OrganicMeshConvertMethodType. """ pass @property - def rotationValue(self) -> float: + def meshConvertAccuracyType(self) -> MeshConvertAccuracyTypes: """ - Gets and sets the rotation value. This is in radians. Setting this value is - the equivalent of using the Drive Joints command. + Gets and sets the accuracy of organic mesh convert. + Only valid if meshConvertResolutionType is ByAccuracyMeshConvertResolutionType. """ - return float() - @rotationValue.setter - def rotationValue(self, value: float): + return MeshConvertAccuracyTypes() + @meshConvertAccuracyType.setter + def meshConvertAccuracyType(self, value: MeshConvertAccuracyTypes): """ - Gets and sets the rotation value. This is in radians. Setting this value is - the equivalent of using the Drive Joints command. + Gets and sets the accuracy of organic mesh convert. + Only valid if meshConvertResolutionType is ByAccuracyMeshConvertResolutionType. """ pass @property - def rotationLimits(self) -> JointLimits: + def numberOfFaces(self) -> ModelParameter: """ - Returns a JointLimits object that defines the rotation limits for this joint. - Use the functionality of the returned JointLimits object to get, set, and modify - the joint limits. + Specify the number of faces to generate for the converted body. + Only valid if meshConvertResolutionTypes is ByFacetNumberMeshConvertResolutionType. """ - return JointLimits() + return ModelParameter() @property - def slideValue(self) -> float: + def isPreprocessHoles(self) -> bool: """ - Gets and sets the slide value. This is in centimeters. Setting this value is - the equivalent of using the Drive Joints command. + Smooths the boundaries of open holes in the mesh body. Improves the chance of successful conversion by + refining the shape of holes that will remain open. Only valid if meshConvertMethodType is OrganicMeshConvertMethodType. """ - return float() - @slideValue.setter - def slideValue(self, value: float): + return bool() + @isPreprocessHoles.setter + def isPreprocessHoles(self, value: bool): """ - Gets and sets the slide value. This is in centimeters. Setting this value is - the equivalent of using the Drive Joints command. + Smooths the boundaries of open holes in the mesh body. Improves the chance of successful conversion by + refining the shape of holes that will remain open. Only valid if meshConvertMethodType is OrganicMeshConvertMethodType. """ pass @property - def slideLimits(self) -> JointLimits: + def nativeObject(self) -> MeshConvertFeature: """ - Returns a JointLimits object that defines the slide limits for this joint. - Use the functionality of the returned JointLimits object to get, set, and modify - the joint limits. + 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 JointLimits() + return MeshConvertFeature() -class DeleteFaceFeature(Feature): +class MeshFeature(Feature): """ - Object that represents an existing DeleteFaceFeature object in a design. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! - The SurfaceDeleteFaceFeature and DeleteFaceFeature differ in that the SurfaceDeleteFaceFeature - can delete any face without any restrictions. If the body is a solid, it will become a surface - when the first face is deleted. The specified face is deleted without any other changes being - made to the body. The DeleteFaceFeature deletes the specified face and also modifies the other faces - in the body to heal or fill in the area of the deleted face. This means that a solid body will - remain solid. + Base class object representing all mesh features. Mesh features works on MeshBody objects and provide all functionality of the base + feature except the functions bodies and faces, which will always return null. """ def __init__(self): pass @staticmethod - def cast(arg) -> DeleteFaceFeature: - return DeleteFaceFeature() - def createForAssemblyContext(self, occurrence: Occurrence) -> DeleteFaceFeature: + def cast(arg) -> MeshFeature: + return MeshFeature() + +class MidPointConstraint(GeometricConstraint): + """ + A midpoint constraint in a sketch. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MidPointConstraint: + return MidPointConstraint() + def createForAssemblyContext(self, occurrence: Occurrence) -> MidPointConstraint: """ 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. + Returns the proxy object or null if this isn't the NativeObject. """ - return DeleteFaceFeature() + return MidPointConstraint() @property - def deletedFaces(self) -> list[BRepFace]: + def point(self) -> SketchPoint: """ - Gets and sets the set of faces that are deleted by this feature. - - 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) - - Setting this property can fail if Fusion 360 is unable to heal the body after - deleting the specified faces. + Returns the sketch point being constrained. """ - return [BRepFace()] - @deletedFaces.setter - def deletedFaces(self, value: list[BRepFace]): + return SketchPoint() + @property + def midPointCurve(self) -> SketchCurve: """ - Gets and sets the set of faces that are deleted by this feature. - - 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) - - Setting this property can fail if Fusion 360 is unable to heal the body after - deleting the specified faces. + Returns the curve defining the midpoint. """ - pass + return SketchCurve() @property - def nativeObject(self) -> DeleteFaceFeature: + def nativeObject(self) -> MidPointConstraint: """ 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 DeleteFaceFeature() + return MidPointConstraint() -class Design(core.Product): +class MinimumRadiusAnalysis(Analysis): """ - Object that represents an open Fusion 360 design. This derives from the - Design base class and adds the Fusion 360 specific functionality. + Represents any existing Minimum Radius Analysis that exist in the design. """ def __init__(self): pass @staticmethod - def cast(arg) -> Design: - return Design() - def activateRootComponent(self) -> bool: + def cast(arg) -> MinimumRadiusAnalysis: + return MinimumRadiusAnalysis() + +class MirrorFeature(Feature): + """ + Object that represents an existing mirror feature in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MirrorFeature: + return MirrorFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> MirrorFeature: """ - Makes the root component the active component in the user interface. This is the same - as enabling the radio button next to the root component in the browser. - Returns true if the activation was successful. + 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 bool() - def createInterferenceInput(self, entities: core.ObjectCollection) -> InterferenceInput: + return MirrorFeature() + @property + def inputEntities(self) -> core.ObjectCollection: """ - Creates an InterferenceInput object. This object collects the entities and options that are - used when calculating interference. To analyze interference you first create an InterferenceInput - supplying the entities and set any other settings and then provide this object as input to the - analyzeInterference method. - entities : An ObjectCollection containing the BRepBody and/or Occurrence entities that will be used in the - interference calculation. All entities must be in the context of the root component of the top-level design. - Returns an InterferenceInput object which you can use to set any other interference settings and then - use as input to the analyzeInterference method to calculate the interference. Returns null if the - creation failed. + Gets and sets the entities that are mirrored. It can contain faces, features, bodies, or components. + The input must all be of a single type. For example, you can't provide a body and a component but + the collection must be either all bodies or all components. + + 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 InterferenceInput() - def analyzeInterference(self, input: InterferenceInput) -> InterferenceResults: + return core.ObjectCollection() + @inputEntities.setter + def inputEntities(self, value: core.ObjectCollection): """ - Calculates the interference between the input bodies and/or occurrences. - input : An InterferenceInput that defines all of the necessary input needed to calculate the interference. - An InterferenceInput object is created using the createInterferenceInput method. - Returns an InterferenceResults object that can be used to examine the interference results. + Gets and sets the entities that are mirrored. It can contain faces, features, bodies, or components. + The input must all be of a single type. For example, you can't provide a body and a component but + the collection must be either all bodies or all components. + + 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 InterferenceResults() - def areaProperties(self, inputs: core.ObjectCollection, accuracy: CalculationAccuracy) -> AreaProperties: + pass + @property + def mirrorPlane(self) -> core.Base: """ - 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. - inputs : A collection of one or more 2D sketch profile and/or planar surface input objects to perform the calculations on. - Supported input object types are 2D closed sketch profiles and planar surfaces. Object must all lie on the same plane. - Calculation results reflect the sums of the input objects (i.e. total area of multiple sketch profiles) - accuracy : Specifies the desired level of computational accuracy of the property calculations. - The default value of 'LowCalculationAccuracy' returns results within a +/- 1% error margin. - Returns an AreaProperties object that can be used to examine the area results. + Gets and sets the mirror plane. This can be either a planar face or construction plane. + This works only for parametric features. + + 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 AreaProperties() - def physicalProperties(self, inputs: core.ObjectCollection, accuracy: CalculationAccuracy) -> PhysicalProperties: + return core.Base() + @mirrorPlane.setter + def mirrorPlane(self, value: core.Base): """ - Returns the PhysicalProperties object that has properties for getting the area, density, mass, volume, moments, etc - for a collection of 3D solid objects. - inputs : A collection of one or more 3D solid input objects to perform the calculations on. - Supported input object types are Components, Occurrences and BRepBodies. - Calculation results reflect the sums of the input objects (i.e. total volume of multiple bodies) - accuracy : Specifies the desired level of computational accuracy of the property calculations. - The default value of 'LowCalculationAccuracy' returns results within a +/- 1% error margin. + Gets and sets the mirror plane. This can be either a planar face or construction plane. + This works only for parametric features. + + 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 PhysicalProperties() - def findEntityByToken(self, entityToken: str) -> list[core.Base]: + pass + @property + def patternElements(self) -> PatternElements: """ - Returns the entities associated with the provided token. The return is an - array of entities. In most cases an array containing a single entity will be returned but - there are cases where more than one entity can be returned. An example of this - is where a token is obtained from a face and subsequent modeling operations cause - the face to be split into two or more pieces. All of the faces that represent - the original face will be returned with the first face being the most logical - match to the original face. - entityToken : The input entity token you want to find the matching entity for. - Returns an array of entities associated with the provided token, or an empty array - in the case where there are no matches. + Gets the PatternElements collection that contains the elements created by this pattern. + """ + return PatternElements() + @property + def resultFeatures(self) -> core.ObjectCollection: + """ + Get the features that were created for this mirror. + Returns null in the case where the feature is not parametric. + """ + return core.ObjectCollection() + @property + def nativeObject(self) -> MirrorFeature: + """ + 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 MirrorFeature() + @property + def patternComputeOption(self) -> PatternComputeOptions: + """ + Gets and sets the compute option for this mirror feature. + This property only applies when mirroring features and is ignored in the direct modeling environment. + + 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 PatternComputeOptions() + @patternComputeOption.setter + def patternComputeOption(self, value: PatternComputeOptions): + """ + Gets and sets the compute option for this mirror feature. + This property only applies when mirroring features and is ignored in the direct modeling environment. + + 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 isCombine(self) -> bool: + """ + Gets and sets whether combine is set when doing the Mirror. + When true, the mirrored geometry will be Boolean unioned with the original solid or surface body(s) + when they connect within the stitch tolerance defined with the stitchTolerance property. If the bodies + cannot be unioned or stitched the result will be separate bodies. + + 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() + @isCombine.setter + def isCombine(self, value: bool): + """ + Gets and sets whether combine is set when doing the Mirror. + When true, the mirrored geometry will be Boolean unioned with the original solid or surface body(s) + when they connect within the stitch tolerance defined with the stitchTolerance property. If the bodies + cannot be unioned or stitched the result will be separate bodies. + + 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 stitchTolerance(self) -> ModelParameter: + """ + Returns the parameter controlling the Stitch tolerance to use when stitching mirrored + surface bodies with the original bodies. You can edit the tolerance by + editing the value of the parameter object. """ - return [core.Base()] - def computeAll(self) -> bool: + return ModelParameter() + +class ModelParameter(Parameter): + """ + Represents a Model Parameter. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ModelParameter: + return ModelParameter() + def deleteMe(self) -> bool: """ - Forces a recompute of the entire design. This is the equivalent of the "Compute All" - command. - Returns true if the compute completed. This doesn't indicate if all the items in the - timeline successfully computed or not. You need to check the health state of each item - in the timeline to determine if everything successfully computed or not. + Deletes this ModelParameter. As a general rule, model parameters cannot be deleted + because features depend on them. However, there are uncommon workflows where a + parameter no longer has any dependents and is not automatically deleted. You can + use the isDeletable property to see if the parameter is in this state and can + successfully be deleted. + Returns true if the delete was successful. """ return bool() @property - def designType(self) -> DesignTypes: - """ - Gets and sets the current design type (DirectDesignType or ParametricDesignType) - Changing an existing design from ParametricDesignType to DirectDesignType will result in the timeline and all design - history being removed and further operations will not be captured in the timeline. - """ - return DesignTypes() - @designType.setter - def designType(self, value: DesignTypes): + def modelParameters(self) -> ModelParameters: """ - Gets and sets the current design type (DirectDesignType or ParametricDesignType) - Changing an existing design from ParametricDesignType to DirectDesignType will result in the timeline and all design - history being removed and further operations will not be captured in the timeline. + Returns the Collection containing the ModelParameter. """ - pass + return ModelParameters() @property - def rootComponent(self) -> Component: + def component(self) -> Component: """ - Returns the root Component + Returns the Component containing the ModelParameter. """ return Component() @property - def allComponents(self) -> Components: + def role(self) -> str: """ - Returns the Components collection that provides access to existing components - in a design + This property identifies what the parameter is used for. For an extrude, it + could be "Depth", for a work plane it could be "Offset". """ - return Components() + return str() @property - def activeEditObject(self) -> core.Base: + def createdBy(self) -> core.Base: """ - Returns the current edit target as seen in the user interface. This edit target - is defined as the container object that will be added to if something is created. - For example, a component can be an edit target so that when new bodies are created they - are added to that component. A sketch can also be an edit target. + Returns the object that created this parameter. For example, + a feature, a sketch dimension, or a construction plane. """ return core.Base() - @property - def activeComponent(self) -> Component: + +class MoveFeature(Feature): + """ + Object that represents an existing move feature in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MoveFeature: + return MoveFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> MoveFeature: """ - Returns the component that is current being edited. This can return the root component - or another component within the design. + 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 Component() - @property - def snapshots(self) -> Snapshots: + return MoveFeature() + def redefineAsFreeMove(self, transform: core.Matrix3D) -> bool: """ - Returns the Snapshots object associated with this design which provides access to the - existing snapshots and the creation of new snapshots. + 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 Snapshots() - @property - def timeline(self) -> Timeline: + return bool() + def redefineAsTranslateXYZ(self, xDistance: core.ValueInput, yDistance: core.ValueInput, zDistance: core.ValueInput, isDesignSpace: bool) -> bool: """ - Returns the timeline associated with this design. + 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 Timeline() - @property - def userParameters(self) -> UserParameters: + return bool() + def redefineAsTranslateAlongEntity(self, linearEntity: core.Base, distance: core.ValueInput) -> bool: """ - Returns the collection of User Parameters in a design + 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 UserParameters() - @property - def allParameters(self) -> ParameterList: + return bool() + def redefineAsRotate(self, axisEntity: core.Base, angle: core.ValueInput) -> bool: """ - Returns a read only list of all parameters in the design. This includes - the user parameters and model parameters from all components in this design. The parameters from Externally Referenced components - are NOT included because they are in actuality, separate designs. + 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 ParameterList() - @property - def fusionUnitsManager(self) -> FusionUnitsManager: + return bool() + def redefineAsPointToPoint(self, originPoint: core.Base, targetPoint: core.Base) -> bool: """ - Returns a specialized UnitsManager that can set the default length units and work - with parameters. + 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 FusionUnitsManager() - @property - def exportManager(self) -> ExportManager: + return bool() + def redefineAsPointToPosition(self, point: core.Base, xDistance: core.ValueInput, yDistance: core.ValueInput, zDistance: core.ValueInput, isDesignSpace: bool) -> bool: """ - Returns the ExportManager for this design. You use the ExportManager - to export the current design in various formats. + 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 ExportManager() + return bool() @property - def isRootComponentActive(self) -> bool: + def inputEntities(self) -> core.ObjectCollection: """ - Gets whether the root component is the active edit target in the user interface. - This is the same as checking the state of the radio button next to the root component in the browser. - To activate the root component use the ActivateRootComponent method. + Gets and sets the entities to move. This is done by using 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. + + 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() - @property - def materials(self) -> core.Materials: + return core.ObjectCollection() + @inputEntities.setter + def inputEntities(self, value: core.ObjectCollection): """ - Returns the materials contained in this document. + Gets and sets the entities to move. This is done by using 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. + + 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.Materials() + pass @property - def appearances(self) -> core.Appearances: + def nativeObject(self) -> MoveFeature: """ - Returns the appearances contained in this document. + 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 core.Appearances() + return MoveFeature() @property - def activeOccurrence(self) -> Occurrence: + def definition(self) -> MoveFeatureDefinition: """ - Returns the occurrence that is currently activated, if any. This can return null in the case - where no occurrence is activated and the root component is active. + Returns the MoveFeatureDefinition object which provides access to the information + that specifies how this MoveFeature is defined. """ - return Occurrence() + 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 contactSets(self) -> ContactSets: + def transform(self) -> core.Matrix3D: """ - Returns the contact sets associated with this design. + 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) """ - return ContactSets() + return core.Matrix3D() + @transform.setter + def transform(self, value: core.Matrix3D): + """ + 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 isContactAnalysisEnabled(self) -> bool: + def originPoint(self) -> core.Base: """ - Gets and sets whether contact analysis is enabled for all components. This - is the equivalent of the "Disable Contact / Enable Contact" command. If this - if True then any contact analysis defined (either all or contact sets) is enabled. - if False, then no contact analysis is performed. + 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 bool() - @isContactAnalysisEnabled.setter - def isContactAnalysisEnabled(self, value: bool): + return core.Base() + @originPoint.setter + def originPoint(self, value: core.Base): """ - Gets and sets whether contact analysis is enabled for all components. This - is the equivalent of the "Disable Contact / Enable Contact" command. If this - if True then any contact analysis defined (either all or contact sets) is enabled. - if False, then no contact analysis is performed. + 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 isContactSetAnalysis(self) -> bool: + def targetPoint(self) -> core.Base: """ - Gets and sets whether contact analysis is done using contact sets - or between all bodies, independent of any contact sets. If True and - the isContactAnalysisEnabled property is True then contact analysis - is performed using contact sets. If False and isContactAnalysisEnabled - is True, then contact analysis is performed between all bodies. If - isContactAnalysisEnabled is False then no contact analysis is performed. + 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 bool() - @isContactSetAnalysis.setter - def isContactSetAnalysis(self, value: bool): + return core.Base() + @targetPoint.setter + def targetPoint(self, value: core.Base): """ - Gets and sets whether contact analysis is done using contact sets - or between all bodies, independent of any contact sets. If True and - the isContactAnalysisEnabled property is True then contact analysis - is performed using contact sets. If False and isContactAnalysisEnabled - is True, then contact analysis is performed between all bodies. If - isContactAnalysisEnabled is False then no contact analysis is performed. + 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 DistanceAndAngleChamferEdgeSet(ChamferEdgeSet): +class MoveFeaturePointToPositionDefinition(MoveFeatureDefinition): """ - Provides access to the edges and the parameter associated with a chord length fillet. + 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) -> DistanceAndAngleChamferEdgeSet: - return DistanceAndAngleChamferEdgeSet() + def cast(arg) -> MoveFeaturePointToPositionDefinition: + return MoveFeaturePointToPositionDefinition() @property - def edges(self) -> core.ObjectCollection: + def point(self) -> core.Base: """ - Gets and sets the edges that will be chamfered. This collection can contain BRepEdge, BRepFace, - and Feature objects. If BRepFace or Feature are objects are provided, all of the edges associated - with those objects will be chamfered. + 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.ObjectCollection() - @edges.setter - def edges(self, value: core.ObjectCollection): + return core.Base() + @point.setter + def point(self, value: core.Base): """ - Gets and sets the edges that will be chamfered. This collection can contain BRepEdge, BRepFace, - and Feature objects. If BRepFace or Feature are objects are provided, all of the edges associated - with those objects will be chamfered. + 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 distance(self) -> ModelParameter: + def xDistance(self) -> ModelParameter: """ - Returns the model parameter that controls the offset distance of the chamfer. - You can edit the distance by using the properties on the returned ModelParameter object. + Gets the model parameter that controls the offset in the X direction. You can use properties """ return ModelParameter() @property - def angle(self) -> ModelParameter: + def yDistance(self) -> ModelParameter: """ - Returns the model parameter that controls the angle of the chamfer. - You can edit the distance by using the properties on the returned ModelParameter object. + Gets the model parameter that controls the offset in the Y direction. You can use properties """ return ModelParameter() @property - def isFlipped(self) -> bool: + def zDistance(self) -> ModelParameter: """ - Gets and sets if the chamfer is flipped. This swaps the directions for distance one and two. + 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 set this property, you need to position the timeline marker to immediately before this feature. + 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() - @isFlipped.setter - def isFlipped(self, value: bool): + @isDesignSpace.setter + def isDesignSpace(self, value: bool): """ - Gets and sets if the chamfer is flipped. This swaps the directions for distance one and two. + 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. + 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 DistanceAndAngleChamferTypeDefinition(ChamferTypeDefinition): +class MoveFeatureRotateDefinition(MoveFeatureDefinition): """ - Provides information to create a chamfer that is defined by a distance from the edge and an angle. + The MoveFeatureRotateDefinition object defines a move feature described by a rotation + around a specified entity. """ def __init__(self): pass @staticmethod - def cast(arg) -> DistanceAndAngleChamferTypeDefinition: - return DistanceAndAngleChamferTypeDefinition() + def cast(arg) -> MoveFeatureRotateDefinition: + return MoveFeatureRotateDefinition() @property - def distance(self) -> ModelParameter: + def axisEntity(self) -> core.Base: """ - Returns the parameter controlling the distance. You can edit the distance - by editing the value of the parameter object. + 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 ModelParameter() + 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: """ - Returns the parameter controlling the angle. You can edit the angle - by editing the value of the parameter object. + 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 DistanceExtentDefinition(ExtentDefinition): +class MoveFeatureTranslateAlongEntityDefinition(MoveFeatureDefinition): """ - Defines the inputs for a distance ExtentDefinition object. - This feature extent type defines the distance as well as whether the extent is symmetric - or in only one direction. If the extent is not symmetric, a positive or negative distance - can be used to control the direction. - For a hole, the IsSymmetric property value will always be false. + 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) -> DistanceExtentDefinition: - return DistanceExtentDefinition() - @staticmethod - def create(distance: core.ValueInput) -> DistanceExtentDefinition: - """ - Statically creates a new DistanceExtentDefinition object. This is used as input when - defining the extents of a feature to be a specified distance. - distance : A ValueInput that defines the distance of the extrusion. - Returns the newly created DistanceExtentDefinition or null in the case of failure. - """ - return DistanceExtentDefinition() + def cast(arg) -> MoveFeatureTranslateAlongEntityDefinition: + return MoveFeatureTranslateAlongEntityDefinition() @property - def isSymmetric(self) -> bool: + def linearEntity(self) -> core.Base: """ - 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. + 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 bool() - @isSymmetric.setter - def isSymmetric(self, value: bool): + return core.Base() + @linearEntity.setter + def linearEntity(self, value: core.Base): """ - 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. + 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: """ - Returns the parameter controlling the distance. You can edit the distance - by editing the value of the parameter object. + 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 DraftFeature(Feature): +class MoveFeatureTranslateXYZDefinition(MoveFeatureDefinition): """ - Object that represents an existing draft feature in a design. + 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) -> DraftFeature: - return DraftFeature() - def setSingleAngle(self, isSymmetric: bool, angle: core.ValueInput) -> bool: + def cast(arg) -> MoveFeatureTranslateXYZDefinition: + return MoveFeatureTranslateXYZDefinition() + @property + def xDistance(self) -> ModelParameter: """ - Changes the definition of the feature so that a single angle is used for all drafts. - If the isSymmetric is true then the faces are split along the parting plane and drafted - independently using the same angle. + 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 use this method, you need to position the timeline marker to immediately before this feature. + 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) - isSymmetric : Set to 'true' if the faces are to be split along the plane and drafted symmetrically. This - will have the side effect of setting the isSymmetric property to the same value. - angle : The ValueInput object that defines the angle of the draft. This can be a positive or negative - value which will affect the direction of the draft along with the isDirectionFlipped property. - Returns true if successful """ return bool() - def setTwoAngles(self, angleOne: core.ValueInput, angleTwo: core.ValueInput) -> bool: + @isDesignSpace.setter + def isDesignSpace(self, value: bool): """ - Changes the definition of the feature so that the surfaces are split along the draft plane and - the faces on each side of the plane are drafted independently from the other side. + 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 method, you need to position the timeline marker to immediately before this feature. + 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) - angleOne : The ValueInput object that defines the angle for the faces on the first side of the draft plane. - angleTwo : The ValueInput object that defines the angle for the faces on the second side of the draft plane. - Returns true if successful + """ + pass + +class MultiLineTextDefinition(SketchTextDefinition): + """ + Defines the information for multi-line text. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MultiLineTextDefinition: + return MultiLineTextDefinition() + def rotate(self, angle: float, keyPoint: TextBoxKeyPoints = TextBoxKeyPoints.MiddleTextBoxKeyPoint) -> bool: + """ + Rotates the text box. + angle : The angle to rotate the text, specified in radians. + keyPoint : The key point the rotation is defined around. This is optional and defaults the center of the text box. + Returns true if successful. """ return bool() - def createForAssemblyContext(self, occurrence: Occurrence) -> DraftFeature: + @property + def rectangleLines(self) -> list[SketchLine]: """ - 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. + 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 DraftFeature() + return [SketchLine()] @property - def inputFaces(self) -> list[BRepFace]: + def horizontalAlignment(self) -> core.HorizontalAlignments: """ - Gets and sets the input faces. - If isTangentChain is true, all the faces that are tangentially connected to the input faces (if any) will also be included. - - 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) + Gets and sets the horizontal alignment of the text with respect to the text rectangle. """ - return [BRepFace()] - @inputFaces.setter - def inputFaces(self, value: list[BRepFace]): + return core.HorizontalAlignments() + @horizontalAlignment.setter + def horizontalAlignment(self, value: core.HorizontalAlignments): + """ + Gets and sets the horizontal alignment of the text with respect to the text rectangle. + """ + pass + @property + def verticalAlignment(self) -> core.VerticalAlignments: + """ + Gets and sets the vertical alignment of the text with respect to the text rectangle. + """ + return core.VerticalAlignments() + @verticalAlignment.setter + def verticalAlignment(self, value: core.VerticalAlignments): + """ + Gets and sets the vertical alignment of the text with respect to the text rectangle. + """ + pass + @property + def characterSpacing(self) -> float: + """ + Gets and sets the spacing between the characters. This is an additional spacing to apply + that is defined as a percentage of the default spacing. A spacing of 0 indicates no + additional spacing. A spacing of 50 indicates to use the default plus 50% of the default. + """ + return float() + @characterSpacing.setter + def characterSpacing(self, value: float): + """ + Gets and sets the spacing between the characters. This is an additional spacing to apply + that is defined as a percentage of the default spacing. A spacing of 0 indicates no + additional spacing. A spacing of 50 indicates to use the default plus 50% of the default. + """ + 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 input faces. - If isTangentChain is true, all the faces that are tangentially connected to the input faces (if any) will also be included. - - 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) + 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 plane(self) -> core.Base: + def aspectRatio(self) -> float: """ - Gets and sets the plane that defines the direction in which the draft is applied. This can be a planar BrepFace, or a ConstructionPlane. - - 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) + 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 core.Base() - @plane.setter - def plane(self, value: core.Base): + return float() + @aspectRatio.setter + def aspectRatio(self, value: float): """ - Gets and sets the plane that defines the direction in which the draft is applied. This can be a planar BrepFace, or a ConstructionPlane. - - 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) + 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 isTangentChain(self) -> bool: + def availablePrintUtilities(self) -> list[str]: """ - Gets and sets if any faces that are tangentially connected to any of - the input faces will also be included in setting InputEntities. It defaults to true. - - 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) + 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 bool() - @isTangentChain.setter - def isTangentChain(self, value: bool): + return [str()] + @property + def printUtility(self) -> str: """ - Gets and sets if any faces that are tangentially connected to any of - the input faces will also be included in setting InputEntities. It defaults to true. - - 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) + 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 isDirectionFlipped(self) -> bool: + def sendToPrintUtility(self) -> bool: """ - Gets and sets if the direction of the draft is flipped. - - 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) + 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() - @isDirectionFlipped.setter - def isDirectionFlipped(self, value: bool): + @sendToPrintUtility.setter + def sendToPrintUtility(self, value: bool): """ - Gets and sets if the direction of the draft is flipped. - - 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) + 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 draftDefinition(self) -> ExtentDefinition: + def unitType(self) -> DistanceUnits: """ - Gets the definition object that specifies how the draft is defined. Modifying the - definition object will cause the draft to recompute. This can return either an - AngleExtentDefinition or TwoSidesAngleExtentDefinition object. This property - returns nothing in the case where the feature is non-parametric. Use this property - to access the parameters controlling the draft and whether the draft is symmetric or not. + Gets and sets the units to use for the created OBJ file. The default is Centimeters. """ - return ExtentDefinition() - @property - def nativeObject(self) -> DraftFeature: + return DistanceUnits() + @unitType.setter + def unitType(self, value: DistanceUnits): """ - 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 units to use for the created OBJ file. The default is Centimeters. """ - return DraftFeature() + pass -class EqualConstraint(GeometricConstraint): +class OffsetConstraint(GeometricConstraint): """ - An equal constraint in a sketch. + An offset constraint in a sketch. """ def __init__(self): pass @staticmethod - def cast(arg) -> EqualConstraint: - return EqualConstraint() - def createForAssemblyContext(self, occurrence: Occurrence) -> EqualConstraint: + def cast(arg) -> OffsetConstraint: + return OffsetConstraint() + def createForAssemblyContext(self, occurrence: Occurrence) -> OffsetConstraint: """ Creates or returns a proxy for the native object - i.e. a new object that represents this object but adds the assembly context @@ -24870,109 +46532,132 @@ def createForAssemblyContext(self, occurrence: Occurrence) -> EqualConstraint: 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 EqualConstraint() + return OffsetConstraint() @property - def curveOne(self) -> SketchCurve: + def parentCurves(self) -> list[SketchCurve]: """ - Returns the first curve. + Returns an array of sketch curves that are the set of parent curves. + Nothing should be assumed about the order in how the curves are returned. """ - return SketchCurve() + return [SketchCurve()] @property - def curveTwo(self) -> SketchCurve: + def childCurves(self) -> list[SketchCurve]: """ - Returns the second curve. + Returns an array of sketch curves that are the set of child curves resulting from the offset. + Nothing should be assumed about the order in how the curves are returned. """ - return SketchCurve() + return [SketchCurve()] @property - def nativeObject(self) -> EqualConstraint: + def distance(self) -> float: + """ + The current distance of the offset in centimeters. To change the offset you need to + modify the value of the parameter associated with the dimension, which you can get + using the dimension property. + """ + return float() + @property + def dimension(self) -> SketchDimension: + """ + Returns the dimension controlling the offset distance. This can return null in the + case where the dimension has been deleted. To change the offset distance you can use + the parameter property of the returned dimension to get the parameter that controls the value and + use properties on the parameter to change the value. This can return either a SketchOffsetCurvesDimension + or a SketchOffsetDimension. A SketchOffsetCurvesDimension is created automatically when curves are + offset but if it is deleted the offset can also be controlled by a SketchOffsetDimension. + """ + return SketchDimension() + @property + def nativeObject(self) -> OffsetConstraint: """ 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 EqualConstraint() + return OffsetConstraint() + @property + def isTopologyMatched(self) -> bool: + """ + Gets the setting that controls if the offset curves match the topology of the original curves. + """ + return bool() -class EqualDistanceChamferEdgeSet(ChamferEdgeSet): +class OffsetFacesFeature(Feature): """ - Provides access to the edges and the parameter associated with a equal distance offset chamfer. + Object that represents an existing Offset Faces feature in a design. + Offset Faces features are created in the UI using the "Offset Face" or "Press Pull" command. """ def __init__(self): pass @staticmethod - def cast(arg) -> EqualDistanceChamferEdgeSet: - return EqualDistanceChamferEdgeSet() - @property - def edges(self) -> core.ObjectCollection: - """ - Gets and sets the edges that will be chamfered. This collection can contain BRepEdge, BRepFace, - and Feature objects. If BRepFace or Feature are objects are provided, all of the edges associated - with those objects 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): + def cast(arg) -> OffsetFacesFeature: + return OffsetFacesFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> OffsetFacesFeature: """ - Gets and sets the edges that will be chamfered. This collection can contain BRepEdge, BRepFace, - and Feature objects. If BRepFace or Feature are objects are provided, all of the edges associated - with those objects 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) + 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. """ - pass + return OffsetFacesFeature() @property def distance(self) -> ModelParameter: """ - Returns the model parameter that controls the offset distance of the chamfer. You can edit - the distance by using the properties on the returned ModelParameter object. + Returns the parameter that controls the offset distance. You can modify + the distance by using the properties of the returned ModelParameter object. """ 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): + @property + def inputFaces(self) -> list[BRepFace]: + """ + Returns an array of BRepFace objects that were offset. The timeline must be rolled + back to immediately before this feature when getting or setting this property + so the faces are available. + """ + return [BRepFace()] + @inputFaces.setter + def inputFaces(self, value: list[BRepFace]): + """ + Returns an array of BRepFace objects that were offset. The timeline must be rolled + back to immediately before this feature when getting or setting this property + so the faces are available. + """ pass - @staticmethod - def cast(arg) -> EqualDistanceChamferTypeDefinition: - return EqualDistanceChamferTypeDefinition() @property - def distance(self) -> ModelParameter: + def nativeObject(self) -> OffsetFacesFeature: """ - Returns the parameter controlling the distance. You can edit the distance - by editing the value of the parameter object. + 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 ModelParameter() + return OffsetFacesFeature() -class ExtendFeature(Feature): +class OffsetFeature(Feature): """ - Object that represents an existing extend feature in a design. + Object that represents an existing offset feature in a design. """ def __init__(self): pass @staticmethod - def cast(arg) -> ExtendFeature: - return ExtendFeature() - def setInputEntities(self, edges: core.ObjectCollection, isChainingEnabled: bool) -> bool: + def cast(arg) -> OffsetFeature: + return OffsetFeature() + def setInputEntities(self, entities: core.ObjectCollection, isChainSelection: bool = True) -> bool: """ - Sets the edges for the extend feature. + Sets the faces and sheet bodies to offset. 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) - edges : The surface edges to extend. - Only the surface edges from an open body can be extended. - The edges must all be from the same open body. - isChainingEnabled : An optional boolean argument whose default is true. If this argument is set to true, all edges that are - tangent or curvature continuous, and end point connected, will be found automatically and extended. + entities : An ObjectCollection containing the BRepFace objects to offset. Additional faces may be + automatically used depending on the value of the isChainSelection argument. + Input faces need not be from the same body. + isChainSelection : A boolean value for setting whether or not faces that are tangentially connected to + the input faces (if any) will also be offset. The default value is true. Returns true if successful """ return bool() - def createForAssemblyContext(self, occurrence: Occurrence) -> ExtendFeature: + def createForAssemblyContext(self, occurrence: Occurrence) -> OffsetFeature: """ Creates or returns a proxy for the native object - i.e. a new object that represents this object but adds the assembly context @@ -24980,144 +46665,160 @@ def createForAssemblyContext(self, occurrence: Occurrence) -> ExtendFeature: 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 ExtendFeature() + return OffsetFeature() @property - def edges(self) -> core.ObjectCollection: + def entities(self) -> core.ObjectCollection: """ - Gets the edges that were extended. In many cases the extend operation results in - the edges being consumed so they're no longer available after the feature is created. - in this case you need to reposition the timeline marker to just before this feature - when the edges do exist. + Gets and sets the faces to be offset. 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() - @property - def distance(self) -> ModelParameter: + @entities.setter + def entities(self, value: core.ObjectCollection): """ - Returns the parameter controlling the extend distance. You can edit the distance - by editing the value of the parameter object. + Gets and sets the faces to be offset. + + 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 ModelParameter() + pass @property - def extendType(self) -> SurfaceExtendTypes: + def isChainSelection(self) -> bool: """ - Gets and sets surface extend type to use. - - 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) + Get if the faces that are tangentially connected to the input faces (if any) are also offset. """ - return SurfaceExtendTypes() - @extendType.setter - def extendType(self, value: SurfaceExtendTypes): + return bool() + @property + def distance(self) -> ModelParameter: """ - Gets and sets surface extend type to use. - - 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) + Returns the parameter controlling the offset distance. You can edit the distance + by editing the value of the parameter object. A positive value specifies that the offset + is in the same direction as the normal direction of the face. """ - pass + return ModelParameter() @property - def isChainingEnabled(self) -> bool: + def operation(self) -> FeatureOperations: """ - Gets if all edges that are tangent or curvature continuous, and end point connected, will be found - automatically and extended. + Gets the feature operation that was performed when the feature was created, + (either 'NewBodyFeatureOperation' or 'NewComponentFeatureOperation'. """ - return bool() + return FeatureOperations() @property - def nativeObject(self) -> ExtendFeature: + 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. """ - return ExtendFeature() + return OffsetFeature() + +class OffsetStartDefinition(ExtentDefinition): + """ + A definition object that is used to define a feature whose start plane is defined as plane that is + offset from the sketch plane of the profile. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> OffsetStartDefinition: + return OffsetStartDefinition() + @staticmethod + def create(offset: core.ValueInput) -> OffsetStartDefinition: + """ + Statically creates a new OffsetStartDefinition object. This is used as input when + create a new feature and defining the starting condition. + offset : An input ValueInput objects that defines the offset distance. The offset can be positive or + negative. A positive value indicates an offset in the same direction as the z axis of the + profile plane. + Returns the newly created OffsetStartDefinition object or null in the case of failure. + """ + return OffsetStartDefinition() @property - def extendAlignment(self) -> SurfaceExtendAlignment: + def offset(self) -> core.Base: """ - Gets and sets surface extend alignment to use. - - 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) + Gets the currently defined offset value. If the ProfilePlaneWithOffsetDefinition object was + created statically and is not associated with a feature, this will return a ValueInput object. + if the ProfilePlaneWithOffsetDefinition is associated with an existing feature, this will return + the parameter that was created when the feature was created. To edit the offset, use properties + on the parameter to change the value of the parameter. """ - return SurfaceExtendAlignment() - @extendAlignment.setter - def extendAlignment(self, value: SurfaceExtendAlignment): + return core.Base() + @property + def profilePlane(self) -> core.Plane: """ - Gets and sets surface extend alignment to use. - - 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) + Returns the geometric definition of the profile plane. """ - pass + return core.Plane() -class ExtrudeFeature(Feature): +class OnEdgeHolePositionDefinition(HolePositionDefinition): """ - Object that represents an existing extrude feature in a design. + Provides positioning information for a hole that is positioned + on the start, end or center of an edge. """ def __init__(self): pass @staticmethod - def cast(arg) -> ExtrudeFeature: - return ExtrudeFeature() - def setDistanceExtent(self, isSymmetric: bool, distance: core.ValueInput) -> bool: + def cast(arg) -> OnEdgeHolePositionDefinition: + return OnEdgeHolePositionDefinition() + @property + def planarEntity(self) -> core.Base: """ - 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 + Returns the plane that defines the orientation and start of the hole. """ - return bool() - def setTwoSidesDistanceExtent(self, distanceOne: core.ValueInput, distanceTwo: core.ValueInput) -> bool: + return core.Base() + @property + def edge(self) -> BRepEdge: """ - 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 + Returns the edge the hole is positioned on. """ - return bool() - def setAllExtent(self, direction: ExtentDirections) -> bool: + return BRepEdge() + @property + def position(self) -> HoleEdgePositions: """ - 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 + Returns the position of the hole on the edge. + The hole can be at the start, midpoint, or end of the edge. """ - return bool() - def setOneSideToExtent(self, toEntity: core.Base, matchShape: bool, directionHint: core.Vector3D) -> bool: + return HoleEdgePositions() + +class OpenHemFeatureDefinition(HemFeatureDefinition): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + The definition for an open hem. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> OpenHemFeatureDefinition: + return OpenHemFeatureDefinition() + @property + def gap(self) -> ModelParameter: """ - 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. + Gets the gap for an open hem. """ - return bool() - def setTwoSidesToExtent(self, toEntityOne: core.Base, toEntityTwo: core.Base, matchShape: bool) -> bool: + return ModelParameter() + @property + def length(self) -> ModelParameter: """ - 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. + Gets the length for an open hem. """ - return bool() - def createForAssemblyContext(self, occurrence: Occurrence) -> ExtrudeFeature: + return ModelParameter() + +class ParallelConstraint(GeometricConstraint): + """ + A parallel constraint in a sketch. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ParallelConstraint: + return ParallelConstraint() + def createForAssemblyContext(self, occurrence: Occurrence) -> ParallelConstraint: """ Creates or returns a proxy for the native object - i.e. a new object that represents this object but adds the assembly context @@ -25125,1059 +46826,926 @@ def createForAssemblyContext(self, occurrence: Occurrence) -> ExtrudeFeature: 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 ExtrudeFeature() - def setOneSideExtent(self, extent: ExtentDefinition, direction: ExtentDirections, taperAngle: core.ValueInput) -> bool: - """ - Redefines the extrusion to go in one direction from the profile. The extent of the extrusion is - defined by the extent argument. - - 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) - extent : An ExtentDefinition object that defines how the extent of the extrusion is defined. This can be - a specified distance (DistanceExtentDefinition), to an entity (ToEntityExtent), or through-all (AllExtentDefinition). - These objects can be obtained by using the static create method on the appropriate class. - direction : Specifies the direction of the extrusion. PositiveExtentDirection and NegativeExtentDirection - are valid values. PositiveExtentDirection is in the same direction as the normal of the profile's - parent sketch plane. - taperAngle : Optional argument that specifies the taper angle. If omitted a taper angle of 0 is used. - 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: - """ - Redefines the extrusion to go in both directions from the profile. The extent is defined independently - for each direction using the input arguments. - - 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) - sideOneExtent : An ExtentDefinition object that defines how the extent of the extrusion towards side one is defined. This can be - a specified distance (DistanceExtentDefinition), to an entity (ToEntityExtent), or through-all (AllExtentDefinition). - These objects can be obtained by using the static create method on the appropriate class. - sideTwoExtent : An ExtentDefinition object that defines how the extent of the extrusion towards side two is defined. This can be - a specified distance (DistanceExtentDefinition), to an entity (ToEntityExtent), or through-all (AllExtentDefinition). - These objects can be obtained by using the static create method on the appropriate class. - sideOneTaperAngle : Optional argument that specifies the taper angle for side one. If omitted a taper angle of 0 is used. - sideTwoTaperAngle : Optional argument that specifies the taper angle for side two. If omitted a taper angle of 0 is used. - Returns true, if the call was successful. - """ - return bool() - def setSymmetricExtent(self, distance: core.ValueInput, isFullLength: bool, taperAngle: core.ValueInput) -> bool: - """ - Redefines the extrusion to go symmetrically in both directions from the profile. - - 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) - distance : The distance of the extrusions. This is either the full length of half of the length of the final extrusion - depending on the value of the isFullLength property. - isFullLength : Defines if the value defines the full length of the extrusion or half of the length. A value of true indicates - it defines the full length. - taperAngle : Optional argument that specifies the taper angle. The same taper angle is used for both sides for a symmetric - extrusion. If omitted a taper angle of 0 is used. - Returns true, if the call was successful. - """ - return bool() - def setThinExtrude(self, thinExtrudeWallLocationOne: ThinExtrudeWallLocation, thinExtrudeWallThicknessOne: core.ValueInput, thinExtrudeWallLocationTwo: ThinExtrudeWallLocation, thinExtrudeWallThicknessTwo: core.ValueInput) -> 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 - to modify the thin extrude specific values. - thinExtrudeWallLocationOne : Specifies the position of the thin wall extrude with respect to the profile being extruded. This defines - the direction for a single sided thin extrude or side one of a two-sided extrusion. - thinExtrudeWallThicknessOne : A ValueInput object that defines the thickness for a single sided thin extrude or side one of a two-sided - extrusion . - thinExtrudeWallLocationTwo : Optional argument that specifies the position of side two of a two-sided extrusion. This argument is ignored - for a single sided thin extrude. - thinExtrudeWallThicknessTwo : Optional argument that is a ValueInput object that defines the thickness for side two of a - two-sided extrusion. This argument is ignored for a single sided thin extrude. - Returns true if successful. - """ - return bool() + return ParallelConstraint() @property - def profile(self) -> core.Base: - """ - Gets and sets the profiles or planar faces used to define the shape of the extrude. - This property can return or be set with a single Profile, a single planar face, or - an ObjectCollection consisting of multiple profiles and planar faces. When an - ObjectCollection is used all of the profiles and faces must be co-planar. - - When setting this property of a surface (non-solid) extrusion, you can use the - createOpenProfile and createBRepEdgeProfile methods of the Component object to create - an open profile. - - This property returns null in the case where the feature is non-parametric. - """ - return core.Base() - @profile.setter - def profile(self, value: core.Base): + def lineOne(self) -> SketchLine: """ - Gets and sets the profiles or planar faces used to define the shape of the extrude. - This property can return or be set with a single Profile, a single planar face, or - an ObjectCollection consisting of multiple profiles and planar faces. When an - ObjectCollection is used all of the profiles and faces must be co-planar. - - When setting this property of a surface (non-solid) extrusion, you can use the - createOpenProfile and createBRepEdgeProfile methods of the Component object to create - an open profile. - - This property returns null in the case where the feature is non-parametric. + Returns the first line. """ - pass + return SketchLine() @property - def taperAngle(self) -> ModelParameter: + def lineTwo(self) -> SketchLine: """ - 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. + Returns the second line. """ - return ModelParameter() + return SketchLine() @property - def operation(self) -> FeatureOperations: + def nativeObject(self) -> ParallelConstraint: """ - Gets and sets the type of operation performed by the extrusion. + 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 FeatureOperations() - @operation.setter - def operation(self, value: FeatureOperations): + return ParallelConstraint() + +class PatchFeature(Feature): + """ + An object that represents an existing patch feature in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> PatchFeature: + return 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 + defined by the input occurrence. + occurrence : The occurrence that defines the context to create the proxy. + Returns the proxy object or null if this is not the NativeObject. """ - Gets and sets the type of operation performed by the extrusion. + 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. """ - pass - @property - def extentDefinition(self) -> ExtentDefinition: + return bool() + def getContinuity(self) -> tuple[bool, list[BRepEdge], list[int], list[float], list[bool]]: """ - 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. + 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 ExtentDefinition() + return (bool(), [BRepEdge()], [int()], [float()], [bool()]) @property - def startFaces(self) -> BRepFaces: + def boundaryCurve(self) -> core.Base: """ - Property that returns the set of faces that cap the end of the extrusion and are coincident - with the sketch plane. In the case of a symmetric extrusion, these faces are the ones on the - positive normal side of the sketch plane. In the case where there are no start faces, - this property will return null. + Returns an ObjectCollection that contains all of the sketch curves or B-Rep edges + 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 and B-Rep edges. + + 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 an ObjectCollection of sketch curves or B-Rep edges is input, they must define a closed shape. + + 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 BRepFaces() - @property - def endFaces(self) -> BRepFaces: + return core.Base() + @boundaryCurve.setter + def boundaryCurve(self, value: core.Base): """ - Property that returns the set of faces that cap the end of the extrusion, opposite the - start faces. In the case where there are no end faces, this property will return null. + Returns an ObjectCollection that contains all of the sketch curves or B-Rep edges + 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 and B-Rep edges. + + 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 an ObjectCollection of sketch curves or B-Rep edges is input, they must define a closed shape. + + 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 BRepFaces() + pass @property - def sideFaces(self) -> BRepFaces: + def operation(self) -> FeatureOperations: """ - Property that returns all of the side faces (i.e. those running perpendicular to the extrude direction) - of the feature. + Gets the type of operation performed by the patch feature. """ - return BRepFaces() + return FeatureOperations() @property - def nativeObject(self) -> ExtrudeFeature: + def nativeObject(self) -> PatchFeature: """ 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 ExtrudeFeature() + return PatchFeature() @property - def isSolid(self) -> bool: + def interiorRailsAndPoints(self) -> core.ObjectCollection: """ - Indicates if this feature was initially created as a solid or a surface. + 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) """ - return bool() + 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 startExtent(self) -> ExtentDefinition: + def isGroupEdges(self) -> bool: """ - Gets and sets the extent used to define the start of the extrusion. You can set this property - with either a ProfilePlaneStartDefinition, ProfilePlaneWithOffsetStartDefinition or a - EntityStartDefinition object. You can get any of those objects by using the static create method on the class. + 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. - To set this property, you need to position the timeline marker to immediately before this feature. + 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 ExtentDefinition() - @startExtent.setter - def startExtent(self, value: ExtentDefinition): + return bool() + @isGroupEdges.setter + def isGroupEdges(self, value: bool): """ - Gets and sets the extent used to define the start of the extrusion. You can set this property - with either a ProfilePlaneStartDefinition, ProfilePlaneWithOffsetStartDefinition or a - EntityStartDefinition object. You can get any of those objects by using the static create method on the class. + 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. - To set this property, you need to position the timeline marker to immediately before this feature. + 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 extentOne(self) -> ExtentDefinition: + def groupContinuity(self) -> SurfaceContinuityTypes: """ - Gets and sets the extent used for a single sided extrude or side one of a two-sided extrusion. Valid - inputs are DistanceExtentDefinition, ToEntityExtentDefinition, and ThroughAllExtentDefinition object, - which can be created statically using the create method on the classes. + 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) """ - return ExtentDefinition() - @extentOne.setter - def extentOne(self, value: ExtentDefinition): + return SurfaceContinuityTypes() + @groupContinuity.setter + def groupContinuity(self, value: SurfaceContinuityTypes): """ - Gets and sets the extent used for a single sided extrude or side one of a two-sided extrusion. Valid - inputs are DistanceExtentDefinition, ToEntityExtentDefinition, and ThroughAllExtentDefinition object, - which can be created statically using the create method on the classes. + 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 extentTwo(self) -> ExtentDefinition: + def groupWeight(self) -> float: """ - Gets and sets the extent used for side two of the extrusion. If the extrude is a single sided extrude this - property will return null and will fail if set. The hasTwoExtents property can be used to determine if - there are two sides or not. When setting this property, valid inputs are DistanceExtentDefinition, - ToEntityExtentDefinition, and ThroughAllExtentDefinition object, which can be created - statically using the create method on the classes. + 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 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) """ - return ExtentDefinition() - @extentTwo.setter - def extentTwo(self, value: ExtentDefinition): + return float() + @groupWeight.setter + def groupWeight(self, value: float): """ - Gets and sets the extent used for side two of the extrusion. If the extrude is a single sided extrude this - property will return null and will fail if set. The hasTwoExtents property can be used to determine if - there are two sides or not. When setting this property, valid inputs are DistanceExtentDefinition, - ToEntityExtentDefinition, and ThroughAllExtentDefinition object, which can be created - statically using the create method on the classes. + 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 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 taperAngleOne(self) -> ModelParameter: + def groupIsContinuityDirectionFlipped(self) -> bool: """ - Gets the parameter controlling the taper angle for a single sided extrusion or side one of a two-sided - extrusion. To edit the angle, use properties on the parameter to change the value of the parameter. + 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 ModelParameter() - @property - def taperAngleTwo(self) -> ModelParameter: + return bool() + @groupIsContinuityDirectionFlipped.setter + def groupIsContinuityDirectionFlipped(self, value: bool): """ - Gets the parameter controlling the taper angle for side two of a two-sided extrusion. if the extrusion is - single-sided, this property will return null. The hasTwoExtents property can be used to determine if there - are two sides or not. To edit the angle, use properties on the parameter to change the value of the parameter. + 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 ModelParameter() - @property - def hasTwoExtents(self) -> bool: + pass + +class PathPatternFeature(Feature): + """ + Object that represents an existing path pattern feature in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> PathPatternFeature: + return PathPatternFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> PathPatternFeature: """ - Property that indicates if the extrusion is a single or two-sided extrusion. If false, the extentTwo - and taperAngleTwo properties should not be used. + 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 bool() + return PathPatternFeature() @property - def participantBodies(self) -> list[BRepBody]: + def inputEntities(self) -> core.ObjectCollection: """ - Gets and sets the list of bodies that will participate in the feature when the operation is a cut or intersection. + Gets and sets the input entities. The collection can contain faces, features, bodies or occurrences. + All of the entities must be of a single type. For example, it can't contain features and occurrences + but only features or occurrences. 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]): + return core.ObjectCollection() + @inputEntities.setter + def inputEntities(self, value: core.ObjectCollection): """ - Gets and sets the list of bodies that will participate in the feature when the operation is a cut or intersection. + Gets and sets the input entities. The collection can contain faces, features, bodies or occurrences. + All of the entities must be of a single type. For example, it can't contain features and occurrences + but only features or occurrences. 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 extentType(self) -> FeatureExtentTypes: + def path(self) -> Path: """ - Returns a value indicating how the extent is defined for this extrude. + Gets and sets the path to create the pattern on path. + + 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 FeatureExtentTypes() - @property - def symmetricExtent(self) -> SymmetricExtentDefinition: + return Path() + @path.setter + def path(self, value: Path): """ - If the current extent of the feature is defined as a symmetric extent, this property - returns the SymmericExtentDefinition object that provides access to the information - defining the symmetric extent. If the current extent is not symmetric, this property - returns null. You can determine the type of extent by using the extentType property. + Gets and sets the path to create the pattern on path. - To change the extent of a feature to symmetric extent you can use the setSymmetricExtent - method. + 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 SymmetricExtentDefinition() + pass @property - def isThinExtrude(self) -> bool: + def quantity(self) -> ModelParameter: """ - Sets or returns whether the extrude is a thin extrude. - Setting it as false will make it a regular extrude. + Gets the quantity of the elements. + Edit the value through ModelParameter. + Returns nothing in the case where the feature is non-parametric. """ - return bool() - @isThinExtrude.setter - def isThinExtrude(self, value: bool): + return ModelParameter() + @property + def distance(self) -> ModelParameter: """ - Sets or returns whether the extrude is a thin extrude. - Setting it as false will make it a regular extrude. + Gets the distance. + Edit the value through ModelParameter. + Returns nothing in the case where the feature is non-parametric. """ - pass + return ModelParameter() @property - def thinExtrudeWallLocationOne(self) -> ThinExtrudeWallLocation: + def startPoint(self) -> float: """ - Gets and sets the wall location for a one sided thin extrude or side one of a two sided thin extrude + Gets and sets the start point on the path to count the distance. + It's between 0 and 1. 0 means start point of the path, 1 means end point of the path. + + 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 ThinExtrudeWallLocation() - @thinExtrudeWallLocationOne.setter - def thinExtrudeWallLocationOne(self, value: ThinExtrudeWallLocation): + return float() + @startPoint.setter + def startPoint(self, value: float): """ - Gets and sets the wall location for a one sided thin extrude or side one of a two sided thin extrude + Gets and sets the start point on the path to count the distance. + It's between 0 and 1. 0 means start point of the path, 1 means end point of the path. + + 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 thinExtrudeWallLocationTwo(self) -> ThinExtrudeWallLocation: + def isFlipDirection(self) -> bool: """ - Gets and sets the wall location for side two of a two sided thin extrude + Gets and sets if flip the direction from start point. + + 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 ThinExtrudeWallLocation() - @thinExtrudeWallLocationTwo.setter - def thinExtrudeWallLocationTwo(self, value: ThinExtrudeWallLocation): + return bool() + @isFlipDirection.setter + def isFlipDirection(self, value: bool): """ - Gets and sets the wall location for side two of a two sided thin extrude + Gets and sets if flip the direction from start point. + + 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 thinExtrudeWallThicknessOne(self) -> ModelParameter: + def patternDistanceType(self) -> PatternDistanceType: """ - Gets and sets the wall thickness for a one sided thin extrude or side one of a two sided thin extrude + Gets and sets how the distance between elements is computed. + + 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 ModelParameter() - @property - def thinExtrudeWallThicknessTwo(self) -> ModelParameter: + return PatternDistanceType() + @patternDistanceType.setter + def patternDistanceType(self, value: PatternDistanceType): """ - Gets and sets the wall thickness for side two of a two sided thin extrude + Gets and sets how the distance between elements is computed. + + 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 ModelParameter() - -class FilletFeature(Feature): - """ - Object that represents an existing fillet feature in a design. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> FilletFeature: - return FilletFeature() - def createForAssemblyContext(self, occurrence: Occurrence) -> FilletFeature: + @property + def isSymmetric(self) -> bool: """ - 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. + Gets and sets if the pattern is in one direction or symmetric. + + 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 FilletFeature() - @property - def edgeSets(self) -> FilletEdgeSets: + return bool() + @isSymmetric.setter + def isSymmetric(self, value: bool): """ - Returns the edge sets collection associated with this fillet. + Gets and sets if the pattern is in one direction or symmetric. + + 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 FilletEdgeSets() + pass @property - def isG2(self) -> bool: + def isOrientationAlongPath(self) -> bool: """ - Gets and sets if the fillet uses the G2 (curvature-continuity) surface quality option. + Gets and sets if the orientation is along path. + If false, the orientation is identical. + + 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() - @isG2.setter - def isG2(self, value: bool): + @isOrientationAlongPath.setter + def isOrientationAlongPath(self, value: bool): """ - Gets and sets if the fillet uses the G2 (curvature-continuity) surface quality option. + Gets and sets if the orientation is along path. + If false, the orientation is identical. + + 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 isRollingBallCorner(self) -> bool: + def suppressedElementsIds(self) -> list[int]: """ - Gets and sets if a rolling ball solution is to be used in any corners. + Gets and sets the id's of the elements to suppress. 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() - @isRollingBallCorner.setter - def isRollingBallCorner(self, value: bool): + return [int()] + @suppressedElementsIds.setter + def suppressedElementsIds(self, value: list[int]): """ - Gets and sets if a rolling ball solution is to be used in any corners. + Gets and sets the id's of the elements to suppress. 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 isTangentChain(self) -> bool: + def patternElements(self) -> PatternElements: """ - Gets and sets whether or not edges that are tangentially connected to - the input edges (if any) will also be filleted. + Gets the PatternElements collection that contains the elements created by this pattern. """ - return bool() - @isTangentChain.setter - def isTangentChain(self, value: bool): + return PatternElements() + @property + def resultFeatures(self) -> core.ObjectCollection: """ - Gets and sets whether or not edges that are tangentially connected to - the input edges (if any) will also be filleted. + Get the features that were created for this mirror. + Returns null in the case where the feature is parametric. """ - pass + return core.ObjectCollection() @property - def nativeObject(self) -> FilletFeature: + def nativeObject(self) -> PathPatternFeature: """ 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 FilletFeature() - -class FitOnPathTextDefintion(SketchTextDefinition): - """ - Defines the information for text that fits along a path. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> FitOnPathTextDefintion: - return FitOnPathTextDefintion() + return PathPatternFeature() @property - def path(self) -> core.Base: - """ - Get and sets the entity that defines the path for the text. This can be a SketchCurve or BRepEdge object. - """ - return core.Base() - @path.setter - def path(self, value: core.Base): + def patternEntityType(self) -> PatternEntityTypes: """ - Get and sets the entity that defines the path for the text. This can be a SketchCurve or BRepEdge object. + Returns the type of entities the pattern consists of. This can be used to help + determine the type of results that will be found in the pattern elements. """ - pass + return PatternEntityTypes() @property - def isAbovePath(self) -> bool: + def patternComputeOption(self) -> PatternComputeOptions: """ - Gets and sets if the text should be positioned above or below the path entity. + Gets and sets the compute option for this pattern feature. + This property only applies when patterning features and is ignored in the direct modeling environment. + + 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() - @isAbovePath.setter - def isAbovePath(self, value: bool): + return PatternComputeOptions() + @patternComputeOption.setter + def patternComputeOption(self, value: PatternComputeOptions): """ - Gets and sets if the text should be positioned above or below the path entity. + Gets and sets the compute option for this pattern feature. + This property only applies when patterning features and is ignored in the direct modeling environment. + + 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 FlangeFeature(Feature): - """ - Object that represents an existing flange feature in a design. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> FlangeFeature: - return FlangeFeature() - -class FormFeature(Feature): +class PerpendicularConstraint(GeometricConstraint): """ - Object that represents an existing Form feature in a design. + A perpendicular constraint in a sketch. """ def __init__(self): pass @staticmethod - def cast(arg) -> FormFeature: - return FormFeature() - def startEdit(self) -> bool: - """ - Set the user-interface so that the form body is in edit mode. - Returns true if successful. - """ - return bool() - def finishEdit(self) -> bool: + def cast(arg) -> PerpendicularConstraint: + return PerpendicularConstraint() + def createForAssemblyContext(self, occurrence: Occurrence) -> PerpendicularConstraint: """ - Exits from edit mode in the user-interface. If this form feature in not - in edit mode, then nothing happens. - Returns true if successful. + 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 bool() + return PerpendicularConstraint() @property - def tSplineBodies(self) -> TSplineBodies: - """ - Returns a TSplineBodies collection where you can access any existing - T-Spline bodies and through it create new T-Spline bodies. - """ - return TSplineBodies() - -class FromEntityStartDefinition(ExtentDefinition): - """ - A definition object that is used to define a feature whose start is defined by a specified construction - plane or face. If a face is specified it must be large enough to completely contain the projected profile. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> FromEntityStartDefinition: - return FromEntityStartDefinition() - @staticmethod - def create(entity: core.Base, offset: core.ValueInput) -> FromEntityStartDefinition: + def lineOne(self) -> SketchLine: """ - Statically creates a new FromEntityStartDefinition object. This is used as input when - create a new feature and defining the starting condition. - entity : An input construction plane or face that defines the start of the feature. If a face is specified it - must be large enough to completely contain the projected profile. - offset : An input ValueInput objects that defines the offset distance from the specified entity. The offset can be positive or - negative. A positive value indicates an offset in the same direction as the positive normal direction of the face. - Returns the newly created FromEntityStartDefinition or null in the case of a failure. + Returns the first line. """ - return FromEntityStartDefinition() + return SketchLine() @property - def offset(self) -> core.Base: + def lineTwo(self) -> SketchLine: """ - Gets the currently defined offset value. If the FromEntityStartDefinition object was - created statically and is not associated with a feature, this will return a ValueInput object. - if the FromEntityStartDefinition is associated with an existing feature, this will return - the parameter that was created when the feature was created. To edit the offset, use properties - on the parameter to change the value of the parameter. + Returns the second line. """ - return core.Base() + return SketchLine() @property - def entity(self) -> core.Base: - """ - Gets and sets the entity defining the start of the feature. - """ - return core.Base() - @entity.setter - def entity(self, value: core.Base): + def nativeObject(self) -> PerpendicularConstraint: """ - Gets and sets the entity defining the start of the feature. + 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. """ - pass - -class FusionArchiveExportOptions(ExportOptions): - """ - Defines that a Fusion 360 Archive export is to be done and specifies the various options. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> FusionArchiveExportOptions: - return FusionArchiveExportOptions() + return PerpendicularConstraint() -class FusionDefaultUnitsPreferences(core.DefaultUnitsPreferences): +class PerpendicularToSurfaceConstraint(GeometricConstraint): """ - Fusion 360 Default Units for Design Preferences + 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) -> FusionDefaultUnitsPreferences: - return FusionDefaultUnitsPreferences() - @property - def distanceDisplayUnits(self) -> DistanceUnits: - """ - Gets and sets the default units for length when creating a new Fusion 360 file. - """ - return DistanceUnits() - @distanceDisplayUnits.setter - def distanceDisplayUnits(self, value: DistanceUnits): + def cast(arg) -> PerpendicularToSurfaceConstraint: + return PerpendicularToSurfaceConstraint() + def createForAssemblyContext(self, occurrence: Occurrence) -> PerpendicularToSurfaceConstraint: """ - Gets and sets the default units for length when creating a new Fusion 360 file. - """ - pass - -class FusionDocument(core.Document): - """ - Object that represents a Fusion 360 specific document. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> FusionDocument: - return FusionDocument() + 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 design(self) -> Design: + def curve(self) -> SketchCurve: """ - Returns the design associated with this Fusion 360 document. + Returns the SketchCurve object that is constrained. """ - return Design() + 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 FusionProductPreferences(core.ProductPreferences): +class PinSlotJointMotion(JointMotion): """ - Fusion 360 General Design Preferences + Represents the set of information specific to a pin slot joint. """ def __init__(self): pass @staticmethod - def cast(arg) -> FusionProductPreferences: - return FusionProductPreferences() + def cast(arg) -> PinSlotJointMotion: + return PinSlotJointMotion() @property - def isActiveComponentVisibilityUsed(self) -> bool: + def rotationAxis(self) -> JointDirections: """ - Gets and sets the Active Component Visibility option + Gets and sets the direction of the axis of rotation. This can be set to + XAxisJointDirection, YAxisJointDirection, or ZAxisJointDirection. It can + return those three directions and CustomJointDirection. If this returns + CustomJointDirection then the customRotationAxisEntity will return an entity + that defines the axis. If there is a custom rotation axis defined and this + property is set to one of the three standard axes, the custom rotation will + be removed and customRotationAxisEntity will return null. """ - return bool() - @isActiveComponentVisibilityUsed.setter - def isActiveComponentVisibilityUsed(self, value: bool): + return JointDirections() + @rotationAxis.setter + def rotationAxis(self, value: JointDirections): """ - Gets and sets the Active Component Visibility option + Gets and sets the direction of the axis of rotation. This can be set to + XAxisJointDirection, YAxisJointDirection, or ZAxisJointDirection. It can + return those three directions and CustomJointDirection. If this returns + CustomJointDirection then the customRotationAxisEntity will return an entity + that defines the axis. If there is a custom rotation axis defined and this + property is set to one of the three standard axes, the custom rotation will + be removed and customRotationAxisEntity will return null. """ pass @property - def defaultDesignType(self) -> DefaultDesignTypeOptions: - """ - Gets and sets the Design History (default design type) setting - """ - return DefaultDesignTypeOptions() - @defaultDesignType.setter - def defaultDesignType(self, value: DefaultDesignTypeOptions): + def rotationAxisVector(self) -> core.Vector3D: """ - Gets and sets the Design History (default design type) setting + Returns the direction of the rotation axis. This property will return null in the case + where the PinSlotJointMotion object was obtained from a JointInput object. """ - pass + return core.Vector3D() @property - def defaultWorkspace(self) -> DefaultWorkspaces: + def customRotationAxisEntity(self) -> core.Base: """ - Gets and sets the Default workspace setting. (Model, Sculpt or Patch) + This property can be set using various types of entities that can infer an + axis. For example, a linear edge, sketch line, planar face, and cylindrical face. + This property is only valid in the case where the rotationAxis property returns + CustomJointDirection. Setting this property will automatically set + the rotationAxis property to CustomJointDirection. + + To set this property, you need to position the timeline marker to immediately before this joint. + This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) """ - return DefaultWorkspaces() - @defaultWorkspace.setter - def defaultWorkspace(self, value: DefaultWorkspaces): + return core.Base() + @customRotationAxisEntity.setter + def customRotationAxisEntity(self, value: core.Base): """ - Gets and sets the Default workspace setting. (Model, Sculpt or Patch) + This property can be set using various types of entities that can infer an + axis. For example, a linear edge, sketch line, planar face, and cylindrical face. + This property is only valid in the case where the rotationAxis property returns + CustomJointDirection. Setting this property will automatically set + the rotationAxis property to CustomJointDirection. + + To set this property, you need to position the timeline marker to immediately before this joint. + This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) """ pass @property - def isJointPreviewAnimated(self) -> bool: + def rotationValue(self) -> float: """ - Gets and sets the Animate joint preview option + Gets and sets the rotation value. This is in radians. Setting this value is + the equivalent of using the Drive Joints command. """ - return bool() - @isJointPreviewAnimated.setter - def isJointPreviewAnimated(self, value: bool): + return float() + @rotationValue.setter + def rotationValue(self, value: float): """ - Gets and sets the Animate joint preview option + Gets and sets the rotation value. This is in radians. Setting this value is + the equivalent of using the Drive Joints command. """ pass @property - def is3DSketchingAllowed(self) -> bool: - """ - Gets and sets the Allow 3D sketching of lines and splines option - which controls if 3D sketching is allowed or if sketching is forced to - be on the x-y plane of the sketch. - """ - return bool() - @is3DSketchingAllowed.setter - def is3DSketchingAllowed(self, value: bool): + def rotationLimits(self) -> JointLimits: """ - Gets and sets the Allow 3D sketching of lines and splines option - which controls if 3D sketching is allowed or if sketching is forced to - be on the x-y plane of the sketch. + Returns a JointLimits object that defines the rotation limits for this joint. + Use the functionality of the returned JointLimits object to get, set, and modify + the joint limits. """ - pass + return JointLimits() @property - def isGhostedResultBodyShown(self) -> bool: + def slideDirection(self) -> JointDirections: """ - Gets and sets the Show ghosted result body option + Gets and sets the direction of the slide motion in the slot. This can be set to + XAxisJointDirection, YAxisJointDirection, or ZAxisJointDirection. It can + return those three directions and CustomJointDirection. If this returns + CustomJointDirection then the customSlideDirectionEntity will return an entity + that defines the direction. If there is a custom direction defined and this + property is set to one of the three standard axes, the custom direction will + be removed and customSlideDirectionEntity will return null. """ - return bool() - @isGhostedResultBodyShown.setter - def isGhostedResultBodyShown(self, value: bool): + return JointDirections() + @slideDirection.setter + def slideDirection(self, value: JointDirections): """ - Gets and sets the Show ghosted result body option + Gets and sets the direction of the slide motion in the slot. This can be set to + XAxisJointDirection, YAxisJointDirection, or ZAxisJointDirection. It can + return those three directions and CustomJointDirection. If this returns + CustomJointDirection then the customSlideDirectionEntity will return an entity + that defines the direction. If there is a custom direction defined and this + property is set to one of the three standard axes, the custom direction will + be removed and customSlideDirectionEntity will return null. """ pass @property - def isDimensionEditedWhenCreated(self) -> bool: - """ - Gets and sets if dimension value is edited when the dimension is created. - """ - return bool() - @isDimensionEditedWhenCreated.setter - def isDimensionEditedWhenCreated(self, value: bool): + def slideDirectionVector(self) -> core.Vector3D: """ - Gets and sets if dimension value is edited when the dimension is created. + Returns the direction of the primary slide direction. This property will return null in the case + where the PinSlotJointMotion object was obtained from a JointInput object. """ - pass + return core.Vector3D() @property - def isAutoLookAtSketch(self) -> bool: + def customSlideDirectionEntity(self) -> core.Base: """ - Gets and sets if the view is re-oriented to view the newly created sketch. + This property can be set using various types of entities that can infer a + direction. For example, a linear edge, sketch line, planar face, and cylindrical face. + This property is only valid in the case where the slideDirection property returns + CustomJointDirection. Setting this property will automatically set + the slideDirection property to CustomJointDirection. + + To set this property, you need to position the timeline marker to immediately before this joint. + This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) """ - return bool() - @isAutoLookAtSketch.setter - def isAutoLookAtSketch(self, value: bool): + return core.Base() + @customSlideDirectionEntity.setter + def customSlideDirectionEntity(self, value: core.Base): """ - Gets and sets if the view is re-oriented to view the newly created sketch. + This property can be set using various types of entities that can infer a + direction. For example, a linear edge, sketch line, planar face, and cylindrical face. + This property is only valid in the case where the slideDirection property returns + CustomJointDirection. Setting this property will automatically set + the slideDirection property to CustomJointDirection. + + To set this property, you need to position the timeline marker to immediately before this joint. + This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) """ pass @property - def isAutoProjectGeometry(self) -> bool: + def slideValue(self) -> float: """ - Gets and Sets if geometry, not in the active sketch plane, is to be automatically projected. + Gets and sets the slide value. This is in centimeters. Setting this value is + the equivalent of using the Drive Joints command. """ - return bool() - @isAutoProjectGeometry.setter - def isAutoProjectGeometry(self, value: bool): + return float() + @slideValue.setter + def slideValue(self, value: float): """ - Gets and Sets if geometry, not in the active sketch plane, is to be automatically projected. + Gets and sets the slide value. This is in centimeters. Setting this value is + the equivalent of using the Drive Joints command. """ pass - -class FusionUnitsManager(core.UnitsManager): - """ - 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 flexibly via strings - (e.g. "cm", "in", "inch", "cm^3", "cm*cm*cm", "mph", "mps" "m/s"). - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> FusionUnitsManager: - return FusionUnitsManager() - @property - def design(self) -> Design: - """ - Returns the parent design - """ - return Design() @property - def distanceDisplayUnits(self) -> DistanceUnits: - """ - Gets and sets the default distance units for this design. - """ - return DistanceUnits() - @distanceDisplayUnits.setter - def distanceDisplayUnits(self, value: DistanceUnits): + def slideLimits(self) -> JointLimits: """ - Gets and sets the default distance units for this design. + Returns a JointLimits object that defines the slide limits for this joint. + Use the functionality of the returned JointLimits object to get, set, and modify + the joint limits. """ - pass + return JointLimits() -class HoleFeature(Feature): +class PipeFeature(Feature): """ - Object that represents an existing hole feature in a design. + Object that represents an existing pipe feature in a design. """ def __init__(self): pass @staticmethod - def cast(arg) -> HoleFeature: - return HoleFeature() - def setToSimple(self) -> bool: - """ - Calling this method will change the hole to a simple hole. - Returns true if changing the hole was successful. - """ - return bool() - def setToCounterbore(self, counterboreDiameter: core.ValueInput, counterboreDepth: core.ValueInput) -> bool: + def cast(arg) -> PipeFeature: + return PipeFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> PipeFeature: """ - Calling this method will change the hole to a counterbore hole. - - 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) - counterboreDiameter : A ValueInput object that defines the counterbore diameter. 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. "3 in"). If no units are specified - it is interpreted using the current default units for length. - counterboreDepth : A ValueInput object that defines the counterbore depth. 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. "3 in"). If no units are specified - it is interpreted using the current default units for length. - Returns true if changing the hole was successful. + 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 bool() - def setToCountersink(self, countersinkDiameter: core.ValueInput, countersinkAngle: core.ValueInput) -> bool: + return PipeFeature() + def setThickness(self, value: core.ValueInput) -> bool: """ - Calling this method will change the hole to a countersink hole. + Defines the section thickness of the Pipe. - 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) - countersinkDiameter : A ValueInput object that defines the countersink diameter. 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. "3 in"). If no units are specified - it is interpreted using the current default units for length. - countersinkAngle : A ValueInput object that defines the countersink angle. If the ValueInput uses - a real then it is interpreted as radians. If it is a string then the units - can be defined as part of the string (i.e. "120 deg"). If no units are specified - it is interpreted using the current default units for length. - Returns true if changing the hole was successful. + In case the pipe is not already hollow, this also sets the isHollow to true. """ return bool() - def setDistanceExtent(self, distance: core.ValueInput) -> bool: + @property + def nativeObject(self) -> PipeFeature: """ - Defines the depth of the hole using a specific distance. - - 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) - distance : The depth of the hole. If a real is specified the value is in centimeters. If a string is - specified the units are derived from the string. If no units are specified, the default - units of the document are used. - Returns true if setting the extent was successful. + 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 bool() - def setAllExtent(self, direction: ExtentDirections) -> bool: + return PipeFeature() + @property + def operation(self) -> FeatureOperations: """ - Defines the extent of the hole to be through-all. The direction can be - either positive, negative. - - 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) - direction : The direction of the hole relative to the normal of the sketch plane. - Returns true if successful. + Gets and sets the type of operation performed by the Pipe. """ - return bool() - def setOneSideToExtent(self, toEntity: core.Base, matchShape: bool, directionHint: core.Vector3D) -> bool: + return FeatureOperations() + @operation.setter + def operation(self, value: FeatureOperations): """ - Sets the extent of the hole to be from the sketch plane to the specified "to" face. - - 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) - 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 a hole it can be a BRepBody, BRepFace, - BRepVertex, ConstructionPlane, or ConstructionPoint. - matchShape : Indicates if the hole is not contained on the face that the hole should match - the shape of the entity as if it extended beyond it's current boundaries. - directionHint : Specifies the direction of the hole. This is only used in the case where there are two possible solutions and the hole can - hit the toEntity in either direction. - - Typically there is only a single solution and the direction is determined automatically. - Returns true if successful. + Gets and sets the type of operation performed by the Pipe. """ - return bool() - def setPositionByPoint(self, planarEntity: core.Base, point: core.Base) -> bool: + pass + @property + def path(self) -> Path: """ - Redefines the position of a the hole using a point. The point can be a vertex on the face - or it can be a Point3D object to define any location on the face. If a Point3D object is - provided it will be projected onto the plane along the planes normal. The orientation of the - hole is defined by the planar face or construction plane. If a vertex is used, the position of - the hole is associative to that vertex. If a Point3D object is used the position of the hole - is not associative. + 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). - 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) - planarEntity : The planar BRepFace or ConstructionPlane object that defines the orientation of the hole. - The natural direction of the hole will be opposite the normal of the face or construction plane. - point : A Point3D object or vertex that defines the position of the hole. The point will be projected - onto the plane along the normal of the plane. - Returns true if successful. - """ - return bool() - def setPositionAtCenter(self, planarEntity: core.Base, centerEdge: BRepEdge) -> bool: - """ - Redefines the position of the hole at the center of a circular or elliptical edge of the face. + 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 use this method, you need to position the timeline marker to immediately before this feature. + 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) - planarEntity : The planar BRepFace or ConstructionPlane object that defines the orientation of the hole. - The natural direction of the hole will be opposite the normal of the face or construction plane. - centerEdge : A circular or elliptical edge whose center point will be the position of the hole. - Returns true if successful. """ - return bool() - def setPositionBySketchPoint(self, sketchPoint: SketchPoint) -> bool: + return Path() + @path.setter + def path(self, value: Path): """ - Redefines the position and orientation of the hole using a sketch point. + 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). - 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) - sketchPoint : The sketch point that defines the position of the hole. The orientation is - inferred from the normal of the point's parent sketch. The natural direction will be - opposite the normal of the sketch. - Returns true if successful. - """ - return bool() - def setPositionBySketchPoints(self, sketchPoints: core.ObjectCollection) -> bool: - """ - Redefines the position and orientation of the hole using a set of points. + 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 use this method, you need to position the timeline marker to immediately before this feature. + 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) - sketchPoints : A collection of sketch points that defines the positions of the holes. The orientation is - inferred from the normal of the point's parent sketch. The natural direction will be - opposite the normal of the sketch. All of the points must be in the same sketch. - 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: + pass + @property + def distanceOne(self) -> ModelParameter: """ - 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. + Gets the distance for the pipe created while following the path given as input, in the same order. - 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) - planarEntity : The planar BRepFace or ConstructionPlane object that defines the orientation of the hole. - The natural direction of the hole will be opposite the normal of the face or construction plane. - point : A Point3D object that defines the approximate initial position of the hole. The point will be - 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. - 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 - 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. "3 in"). If no units are specified - it is interpreted using the current default units for length. - edgeTwo : You can optionally define a second edge and offset to specify the position of the hole. If you use a - second edge it has the same requirements as the edgeOne argument. If you provide a second edge you - must also provide the offsetTwo argument. - offsetTwo : If edgeTwo is defined, you must provide this argument which is a ValueInput object that - defines the offset from the edgeTwo. 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. "3 in"). If no units are specified it is interpreted using the current default units - for length. - Returns true if successful. - """ - return bool() - def setPositionOnEdge(self, planarEntity: core.Base, edge: BRepEdge, position: HoleEdgePositions) -> bool: - """ - Redefines the position and orientation of the hole to be on the start, end or center of an edge. + 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. - 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) - planarEntity : The planar BRepFace or ConstructionPlane object that defines the orientation of the hole - and start of the hole. The natural direction of the hole will be opposite the normal of - the face or construction plane. - edge : The edge to position the hole on. - position : The position along the edge to place the hole. - Returns true if successful. - """ - return bool() - def createForAssemblyContext(self, occurrence: Occurrence) -> HoleFeature: - """ - 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 HoleFeature() - @property - def position(self) -> core.Point3D: - """ - Returns the position of the hole. - """ - return core.Point3D() - @property - def direction(self) -> core.Vector3D: - """ - Returns the direction of the hole. - """ - return core.Vector3D() - @property - def holeType(self) -> HoleTypes: - """ - Returns the current type of hole this feature represents. - """ - return HoleTypes() - @property - def holeDiameter(self) -> ModelParameter: - """ - Returns the model parameter controlling the hole diameter. The diameter of - the hole can be edited through the returned parameter object. - """ - return ModelParameter() - @property - def tipAngle(self) -> ModelParameter: - """ - Returns the model parameter controlling the angle of the tip of the hole. The tip angle of - the hole can be edited through the returned parameter object. + This property returns null in the case where the feature is non-parametric. """ return ModelParameter() @property - def counterboreDiameter(self) -> ModelParameter: + def distanceTwo(self) -> ModelParameter: """ - Returns the model parameter controlling the counterbore diameter. - This will return null in the case the hole type is not a counterbore. - The diameter of the counterbore can be edited through the returned parameter. + 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 counterboreDepth(self) -> ModelParameter: + def sectionType(self) -> PipeSectionTypes: """ - Returns the model parameter controlling the counterbore depth. - This will return null in the case the hole type is not a counterbore. - The depth of the counterbore can be edited through the returned parameter. + Gets and sets the section type of the Pipe. + The type can be: Circular, Square, Triangular. """ - return ModelParameter() - @property - def countersinkDiameter(self) -> ModelParameter: + return PipeSectionTypes() + @sectionType.setter + def sectionType(self, value: PipeSectionTypes): """ - Returns the model parameter controlling the countersink diameter. - This will return null in the case the hole type is not a countersink. - The diameter of the countersink can be edited through the returned parameter. + Gets and sets the section type of the Pipe. + The type can be: Circular, Square, Triangular. """ - return ModelParameter() + pass @property - def countersinkAngle(self) -> ModelParameter: + def sectionSize(self) -> ModelParameter: """ - Returns the model parameter controlling the countersink angle. - This will return null in the case the hole type is not a countersink. - The angle of the countersink can be edited through the returned parameter. + Gets and sets the section size of the Pipe. """ return ModelParameter() @property - def isDefaultDirection(self) -> bool: + def isHollow(self) -> bool: """ - Gets and sets if the hole is in the default direction or not. + Specifies if the Pipe is hollow or not. + + Setting this to true will default the sectionThickness to 0.1 cm. """ return bool() - @isDefaultDirection.setter - def isDefaultDirection(self, value: bool): + @isHollow.setter + def isHollow(self, value: bool): """ - Gets and sets if the hole is in the default direction or not. + Specifies if the Pipe is hollow or not. + + Setting this to true will default the sectionThickness to 0.1 cm. """ pass @property - def extentDefinition(self) -> ExtentDefinition: + def sectionThickness(self) -> ModelParameter: """ - Gets the definition object that is defining the extent of the hole. Modifying the - definition object will cause the hole to recompute. The extent type of a hole - is currently limited to a distance extent. + Gets the section thickness of the Pipe. + + If the pipe is not hollow, this will return null. """ - return ExtentDefinition() + return ModelParameter() @property - def endFaces(self) -> BRepFaces: + def startFaces(self) -> BRepFaces: """ - Property that returns the faces at the bottom of the hole. This will typically be a single face - but could return more than one face in the case where the bottom of the hole is uneven. + 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 sideFaces(self) -> BRepFaces: + def endFaces(self) -> BRepFaces: """ - Property that returns all of the side faces of the hole. + 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 holePositionDefinition(self) -> HolePositionDefinition: - """ - Returns a HolePositionDefinition object that provides access to the information used - to define the position of the hole. This returns null in the case where IsParametric - is false. - """ - return HolePositionDefinition() - @property - def nativeObject(self) -> HoleFeature: + def sideFaces(self) -> BRepFaces: """ - 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. + Property that returns an object that provides access to all of the faces created around the perimeter of the feature. """ - return HoleFeature() + return BRepFaces() @property def participantBodies(self) -> list[BRepBody]: """ @@ -26197,349 +47765,346 @@ def participantBodies(self, value: list[BRepBody]): """ pass -class HorizontalConstraint(GeometricConstraint): +class PlanarJointMotion(JointMotion): """ - A horizontal constraint in a sketch. + Represents the set of information specific to a planar joint. """ def __init__(self): pass @staticmethod - def cast(arg) -> HorizontalConstraint: - return HorizontalConstraint() - def createForAssemblyContext(self, occurrence: Occurrence) -> HorizontalConstraint: - """ - 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 HorizontalConstraint() + def cast(arg) -> PlanarJointMotion: + return PlanarJointMotion() @property - def line(self) -> SketchLine: + def normalDirection(self) -> JointDirections: """ - Returns the line being constrained. + Gets and sets the direction of the normal of the single degree of rotation. + This can be set to XAxisJointDirection, YAxisJointDirection, or ZAxisJointDirection. + It can return those three directions and CustomJointDirection. If this returns + CustomJointDirection then the customNormalDirectionEntity will return an entity + that defines the direction. If there is a custom direction defined and this + property is set to one of the three standard axes, the custom direction will + be removed and customNormalDirectionEntity will return null. """ - return SketchLine() - @property - def nativeObject(self) -> HorizontalConstraint: + return JointDirections() + @normalDirection.setter + def normalDirection(self, value: JointDirections): """ - 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 direction of the normal of the single degree of rotation. + This can be set to XAxisJointDirection, YAxisJointDirection, or ZAxisJointDirection. + It can return those three directions and CustomJointDirection. If this returns + CustomJointDirection then the customNormalDirectionEntity will return an entity + that defines the direction. If there is a custom direction defined and this + property is set to one of the three standard axes, the custom direction will + be removed and customNormalDirectionEntity will return null. """ - return HorizontalConstraint() - -class HorizontalPointsConstraint(GeometricConstraint): - """ - A horizontal constraint between two points in a sketch. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> HorizontalPointsConstraint: - return HorizontalPointsConstraint() - def createForAssemblyContext(self, occurrence: Occurrence) -> HorizontalPointsConstraint: - """ - 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 HorizontalPointsConstraint() @property - def pointOne(self) -> SketchPoint: + def normalDirectionVector(self) -> core.Vector3D: """ - Returns the first point. + Returns the direction of the normal direction. This property will return null in the case + where the PlanarJointMotion object was obtained from a JointInput object. """ - return SketchPoint() + return core.Vector3D() @property - def pointTwo(self) -> SketchPoint: + def customNormalDirectionEntity(self) -> core.Base: """ - Returns the second point. + This property defines a custom normal direction and can be set using various types + of entities that can infer a direction. For example, a linear edge, sketch line, + planar face, and cylindrical face.This property is only valid in the case where the + normalDirection property returns CustomJointDirection. Setting this property will + automatically set the normalDirection property to CustomJointDirection. + + To set this property, you need to position the timeline marker to immediately before this joint. + This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) """ - return SketchPoint() - @property - def nativeObject(self) -> HorizontalPointsConstraint: + return core.Base() + @customNormalDirectionEntity.setter + def customNormalDirectionEntity(self, value: 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. + This property defines a custom normal direction and can be set using various types + of entities that can infer a direction. For example, a linear edge, sketch line, + planar face, and cylindrical face.This property is only valid in the case where the + normalDirection property returns CustomJointDirection. Setting this property will + automatically set the normalDirection property to CustomJointDirection. + + To set this property, you need to position the timeline marker to immediately before this joint. + This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) """ - return HorizontalPointsConstraint() - -class IGESExportOptions(ExportOptions): - """ - Defines that an IGES export is to be done and specifies the various options. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> IGESExportOptions: - return IGESExportOptions() - -class LoftDirectionEndCondition(LoftEndCondition): - """ - Represents a "Direction" loft end condition. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> LoftDirectionEndCondition: - return LoftDirectionEndCondition() @property - def angle(self) -> core.Base: + def primarySlideDirection(self) -> JointDirections: """ - Gets the valueInput or Parameter that defines the angle of the direction of the loft. - If this object was obtained from a LoftFeatureInput object then this will return a - valueInput object with the initial value provided. If this object was obtained from - an exiting LoftFeature then it returns a Parameter. In the case of a parameter, to change the angle, - edit the value of the associated parameter. + Gets the direction used as the primary direction for the two translational degrees of + freedom. The value of this property is automatically set when setting the normalDirection. + When reading this value it can return XAxisJointDirection, YAxisJointDirection, ZAxisJointDirection, + or CustomJointDirection. If it's CustomJointDirection then the direction the direction can be + determined using the primarySlideDirectionVector and the entity controlling the direction can + be get and set using the customPrimarySlideDirectionEntity. """ - return core.Base() + return JointDirections() @property - def weight(self) -> core.Base: - """ - Gets the valueInput or Parameter that defines the weight of the loft. - If this object was obtained from a LoftFeatureInput object then this will return a - valueInput object with the initial value provided. If this object was obtained from - an exiting LoftFeature then it returns a Parameter. In the case of a parameter, to change the weight, - edit the value of the associated parameter. - """ - return core.Base() - -class LoftFeature(Feature): - """ - Object that represents an existing loft feature in a design. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> LoftFeature: - return LoftFeature() - def createForAssemblyContext(self, occurrence: Occurrence) -> LoftFeature: + def primarySlideDirectionVector(self) -> core.Vector3D: """ - 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. + Returns the direction of the primary slide direction. This property will return null in the case + where the PlanarJointMotion object was obtained from a JointInput object. """ - return LoftFeature() + return core.Vector3D() @property - def loftSections(self) -> LoftSections: + def customPrimarySlideDirectionEntity(self) -> core.Base: """ - Returns the set of sections that the loft passes through. + This property can be set using various types of entities that can infer a + direction. For example, a linear edge, sketch line, planar face, and cylindrical face. + When reading this property, it is only valid in the case where the primarySlideDirection property returns + CustomJointDirection. Setting this property will automatically set the primarySlideDirection property to + CustomJointDirection. The entity defining the custom direction by be perpendicular to the normal direction. - This property returns null in the case where the feature is non-parametric. + To set this property, you need to position the timeline marker to immediately before this joint. + This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) """ - return LoftSections() - @property - def centerLineOrRails(self) -> LoftCenterLineOrRails: + return core.Base() + @customPrimarySlideDirectionEntity.setter + def customPrimarySlideDirectionEntity(self, value: core.Base): """ - Returns the single centerline or the set of rails that define the shape of the loft. + This property can be set using various types of entities that can infer a + direction. For example, a linear edge, sketch line, planar face, and cylindrical face. + When reading this property, it is only valid in the case where the primarySlideDirection property returns + CustomJointDirection. Setting this property will automatically set the primarySlideDirection property to + CustomJointDirection. The entity defining the custom direction by be perpendicular to the normal direction. - This property returns null in the case where the feature is non-parametric. + To set this property, you need to position the timeline marker to immediately before this joint. + This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) """ - return LoftCenterLineOrRails() + pass @property - def startFace(self) -> BRepFace: + def secondarySlideDirectionVector(self) -> core.Vector3D: """ - Property that returns the face that caps the start of the loft and is coincident - with the first section. In the case where the loft isn't capped and there isn't - a start face, this property will return null. + Returns the direction of the secondary slide direction. This property will return null in the case + where the PlanarJointMotion object was obtained from a JointInput object. """ - return BRepFace() + return core.Vector3D() @property - def endFace(self) -> BRepFace: + def rotationValue(self) -> float: """ - Property that returns the face that caps the end of the loft and is coincident - with the last section. In the case where the loft isn't capped and there isn't an end face, - this property will return null. + Gets and sets the rotation value. This is in radians. Setting this value is + the equivalent of using the Drive Joints command. """ - return BRepFace() + return float() + @rotationValue.setter + def rotationValue(self, value: float): + """ + Gets and sets the rotation value. This is in radians. Setting this value is + the equivalent of using the Drive Joints command. + """ + pass @property - def sideFaces(self) -> BRepFaces: + def rotationLimits(self) -> JointLimits: """ - Property that returns all of the side faces (i.e. those running through the sections) - of the feature. + Returns a JointLimits object that defines the limits of rotation for this joint. + Use the functionality of the returned JointLimits object to get, set, and modify + the joint limits. """ - return BRepFaces() + return JointLimits() @property - def operation(self) -> FeatureOperations: + def primarySlideValue(self) -> float: """ - Gets and sets the type of operation performed by the extrusion. - - 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) + Gets and sets the offset value in the primary direction. This is in centimeters. + Setting this value is the equivalent of using the Drive Joints command. """ - return FeatureOperations() - @operation.setter - def operation(self, value: FeatureOperations): + return float() + @primarySlideValue.setter + def primarySlideValue(self, value: float): """ - Gets and sets the type of operation performed by the extrusion. - - 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) + Gets and sets the offset value in the primary direction. This is in centimeters. + Setting this value is the equivalent of using the Drive Joints command. """ pass @property - def isSolid(self) -> bool: + def primarySlideLimits(self) -> JointLimits: """ - Indicates if this feature was initially created as a solid or a surface. + Returns a JointLimits object that defines the limits in the primary direction for this joint. + Use the functionality of the returned JointLimits object to get, set, and modify + the joint limits. """ - return bool() + return JointLimits() @property - def nativeObject(self) -> LoftFeature: + def secondarySlideValue(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 offset value in the secondary direction. This is in centimeters. + Setting this value is the equivalent of using the Drive Joints command. """ - return LoftFeature() - @property - def participantBodies(self) -> list[BRepBody]: + return float() + @secondarySlideValue.setter + def secondarySlideValue(self, value: float): """ - 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) + Gets and sets the offset value in the secondary direction. This is in centimeters. + Setting this value is the equivalent of using the Drive Joints command. """ - return [BRepBody()] - @participantBodies.setter - def participantBodies(self, value: list[BRepBody]): + pass + @property + def secondarySlideLimits(self) -> JointLimits: """ - 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) + Returns a JointLimits object that defines the limits in the secondary direction for this joint. + Use the functionality of the returned JointLimits object to get, set, and modify + the joint limits. """ + return JointLimits() + +class PlaneAndOffsetsHolePositionDefinition(HolePositionDefinition): + """ + Provides positioning information for a hole that is positioned on a plane + and at a distance from one or two edges. + """ + def __init__(self): pass + @staticmethod + def cast(arg) -> PlaneAndOffsetsHolePositionDefinition: + return PlaneAndOffsetsHolePositionDefinition() @property - def isClosed(self) -> bool: + def planarEntity(self) -> core.Base: """ - Specifies if the loft closes back on itself. In other words, the first section is also - used as the last section. + Returns the plane that defines the orientation and start of the hole. """ - return bool() - @isClosed.setter - def isClosed(self, value: bool): + return core.Base() + @property + def edgeOne(self) -> BRepEdge: """ - Specifies if the loft closes back on itself. In other words, the first section is also - used as the last section. + The first of 2 edges the hole position is measured from. OffsetOne provides access to + the model parameter controlling the offset distance. """ - pass + return BRepEdge() @property - def isTangentEdgesMerged(self) -> bool: + def offsetOne(self) -> ModelParameter: """ - Specifies if the loft will keep or merge tangent edges. These are edges between tangent - faces in the resulting loft surface. If true, the faces will be merged so the connecting - edge no longer exists + Returns the model parameter controlling the distance from the center of the hole + to EdgeOne. """ - return bool() - @isTangentEdgesMerged.setter - def isTangentEdgesMerged(self, value: bool): + return ModelParameter() + @property + def edgeTwo(self) -> BRepEdge: """ - Specifies if the loft will keep or merge tangent edges. These are edges between tangent - faces in the resulting loft surface. If true, the faces will be merged so the connecting - edge no longer exists + The second of two edges the hole position is measured from. OffsetTwo provides access + to the model parameter controlling the offset distance. This property can return null + in the case where only one edge is used. """ - pass - -class LoftFreeEndCondition(LoftEndCondition): - """ - Represents a "Free" loft end condition. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> LoftFreeEndCondition: - return LoftFreeEndCondition() - -class LoftPointSharpEndCondition(LoftEndCondition): - """ - Represents a "Point Sharp" loft end condition. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> LoftPointSharpEndCondition: - return LoftPointSharpEndCondition() + return BRepEdge() + @property + def offsetTwo(self) -> ModelParameter: + """ + Returns the model parameter controlling the distance from the center of the hole + to EdgeTwo. This property returns null in the case where only one edge is used. + """ + return ModelParameter() -class LoftPointTangentEndCondition(LoftEndCondition): +class PointHolePositionDefinition(HolePositionDefinition): """ - Represents a "Point Tangent" loft end condition. + Provides positioning information for a hole that is positioned relative to a 3D coordinate + point. """ def __init__(self): pass @staticmethod - def cast(arg) -> LoftPointTangentEndCondition: - return LoftPointTangentEndCondition() + def cast(arg) -> PointHolePositionDefinition: + return PointHolePositionDefinition() @property - def weight(self) -> core.Base: + def planarEntity(self) -> core.Base: """ - Gets the valueInput or Parameter that defines the weight of the loft. - If this object was obtained from a LoftFeatureInput object then this will return a - valueInput object with the initial value provided. If this object was obtained from - an exiting LoftFeature then it returns a Parameter. In the case of a parameter, to change the weight, - edit the value of the associated parameter. + Returns the plane that defines the orientation and start of the hole. + """ + return core.Base() + @property + def point(self) -> core.Base: + """ + Returns the coordinates defining the position of the hole. """ return core.Base() -class LoftSmoothEndCondition(LoftEndCondition): +class PolygonConstraint(GeometricConstraint): """ - Represents a "Smooth" loft end condition. + A polygon constraint in a sketch. """ def __init__(self): pass @staticmethod - def cast(arg) -> LoftSmoothEndCondition: - return LoftSmoothEndCondition() + def cast(arg) -> PolygonConstraint: + return PolygonConstraint() @property - def weight(self) -> core.Base: + def points(self) -> list[SketchPoint]: """ - Gets the valueInput or Parameter that defines the weight of the loft. - If this object was obtained from a LoftFeatureInput object then this will return a - valueInput object with the initial value provided. If this object was obtained from - an exiting LoftFeature then it returns a Parameter. In the case of a parameter, to change the weight, - edit the value of the associated parameter. + Returns the sketch points that define the vertices of the polygon. The + sketch lines that draw the shape of the polygon can be obtained from the points. """ - return core.Base() + return [SketchPoint()] + @property + def centerPoint(self) -> SketchPoint: + """ + Returns the SketchPoint that acts as the center point of the polygon. + """ + return SketchPoint() -class LoftTangentEndCondition(LoftEndCondition): +class ProfilePlaneStartDefinition(ExtentDefinition): """ - Represents a "Tangent" loft end condition. + A definition object that is used to define a feature whose start plane is the sketch plane of the profile. """ def __init__(self): pass @staticmethod - def cast(arg) -> LoftTangentEndCondition: - return LoftTangentEndCondition() + def cast(arg) -> ProfilePlaneStartDefinition: + return ProfilePlaneStartDefinition() + @staticmethod + def create() -> ProfilePlaneStartDefinition: + """ + Statically creates a new ProfilePlaneStartDefinition object. This is used as input when creating a new + feature and defining the starting condition. + Returns the newly created ProfilePlaneStartDefinition object or null in the case of a failure. + """ + return ProfilePlaneStartDefinition() @property - def weight(self) -> core.Base: + def profilePlane(self) -> core.Plane: """ - Gets the valueInput or Parameter that defines the weight of the loft. - If this object was obtained from a LoftFeatureInput object then this will return a - valueInput object with the initial value provided. If this object was obtained from - an exiting LoftFeature then it returns a Parameter. In the case of a parameter, to change the weight, - edit the value of the associated parameter. + Returns the geometric definition of the profile plane. """ - return core.Base() + return core.Plane() -class MidPointConstraint(GeometricConstraint): +class RectangularPatternConstraint(GeometricConstraint): """ - A midpoint constraint in a sketch. + A rectangular pattern constraint in a sketch. """ def __init__(self): pass @staticmethod - def cast(arg) -> MidPointConstraint: - return MidPointConstraint() - def createForAssemblyContext(self, occurrence: Occurrence) -> MidPointConstraint: + 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 @@ -26547,210 +48112,179 @@ def createForAssemblyContext(self, occurrence: Occurrence) -> MidPointConstraint 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 MidPointConstraint() - @property - def point(self) -> SketchPoint: - """ - Returns the sketch point being constrained. - """ - return SketchPoint() + return RectangularPatternConstraint() @property - def midPointCurve(self) -> SketchCurve: + def entities(self) -> list[SketchEntity]: """ - Returns the curve defining the midpoint. + Gets and sets the entities that are patterned. Sketch points and curves are valid + entities to pattern. """ - return SketchCurve() - @property - def nativeObject(self) -> MidPointConstraint: + return [SketchEntity()] + @entities.setter + def entities(self, value: list[SketchEntity]): """ - 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 entities that are patterned. Sketch points and curves are valid + entities to pattern. """ - return MidPointConstraint() - -class MirrorFeature(Feature): - """ - Object that represents an existing mirror feature in a design. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> MirrorFeature: - return MirrorFeature() - def createForAssemblyContext(self, occurrence: Occurrence) -> MirrorFeature: + @property + def createdEntities(self) -> list[SketchEntity]: """ - 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. + 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 MirrorFeature() + return [SketchEntity()] @property - def inputEntities(self) -> core.ObjectCollection: + def directionOneEntity(self) -> SketchLine: """ - Gets and sets the entities that are mirrored. It can contain faces, features, bodies, or components. - The input must all be of a single type. For example, you can't provide a body and a component but - the collection must be either all bodies or all components. - - 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) + 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 core.ObjectCollection() - @inputEntities.setter - def inputEntities(self, value: core.ObjectCollection): + return SketchLine() + @directionOneEntity.setter + def directionOneEntity(self, value: SketchLine): """ - Gets and sets the entities that are mirrored. It can contain faces, features, bodies, or components. - The input must all be of a single type. For example, you can't provide a body and a component but - the collection must be either all bodies or all components. - - 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) + 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 mirrorPlane(self) -> core.Base: + def directionTwoEntity(self) -> SketchLine: """ - Gets and sets the mirror plane. This can be either a planar face or construction plane. - This works only for parametric features. - - 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) + 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 core.Base() - @mirrorPlane.setter - def mirrorPlane(self, value: core.Base): + return SketchLine() + @directionTwoEntity.setter + def directionTwoEntity(self, value: SketchLine): """ - Gets and sets the mirror plane. This can be either a planar face or construction plane. - This works only for parametric features. - - 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) + 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 patternElements(self) -> PatternElements: + def quantityOne(self) -> ModelParameter: """ - Gets the PatternElements collection that contains the elements created by this pattern. + 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 PatternElements() + return ModelParameter() @property - def resultFeatures(self) -> core.ObjectCollection: + def quantityTwo(self) -> ModelParameter: """ - Get the features that were created for this mirror. - Returns null in the case where the feature is not parametric. + 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 core.ObjectCollection() + return ModelParameter() @property - def nativeObject(self) -> MirrorFeature: + def distanceOne(self) -> ModelParameter: """ - 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. + Returns the parameter that controls the distance in first direction. To change the + value, use the properties on the returned ModelParameter object. """ - return MirrorFeature() + return ModelParameter() @property - def patternComputeOption(self) -> PatternComputeOptions: + def distanceTwo(self) -> ModelParameter: """ - Gets and sets the compute option for this mirror feature. - This property only applies when mirroring features and is ignored in the direct modeling environment. - - 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) + Returns the parameter that controls the distance in second direction. To change the + value, use the properties on the returned ModelParameter object. """ - return PatternComputeOptions() - @patternComputeOption.setter - def patternComputeOption(self, value: PatternComputeOptions): + return ModelParameter() + @property + def isSymmetricInDirectionOne(self) -> bool: """ - Gets and sets the compute option for this mirror feature. - This property only applies when mirroring features and is ignored in the direct modeling environment. - - 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) + 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 isCombine(self) -> bool: + def isSymmetricInDirectionTwo(self) -> bool: """ - Gets and sets whether combine is set when doing the Mirror. - When true, the mirrored geometry will be Boolean unioned with the original solid or surface body(s) - when they connect within the stitch tolerance defined with the stitchTolerance property. If the bodies - cannot be unioned or stitched the result will be separate bodies. - - 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) + Gets and sets if the pattern in direction two is in one direction or is symmetric. """ return bool() - @isCombine.setter - def isCombine(self, value: bool): + @isSymmetricInDirectionTwo.setter + def isSymmetricInDirectionTwo(self, value: bool): """ - Gets and sets whether combine is set when doing the Mirror. - When true, the mirrored geometry will be Boolean unioned with the original solid or surface body(s) - when they connect within the stitch tolerance defined with the stitchTolerance property. If the bodies - cannot be unioned or stitched the result will be separate bodies. - - 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) + Gets and sets if the pattern in direction two is in one direction or is symmetric. """ pass @property - def stitchTolerance(self) -> ModelParameter: + def distanceType(self) -> PatternDistanceType: """ - Returns the parameter controlling the Stitch tolerance to use when stitching mirrored - surface bodies with the original bodies. You can edit the tolerance by - editing the value of the parameter object. + Gets and sets how the distance between elements is computed. """ - return ModelParameter() - -class ModelParameter(Parameter): - """ - Represents a Model Parameter. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> ModelParameter: - return ModelParameter() - @property - def modelParameters(self) -> ModelParameters: + return PatternDistanceType() + @distanceType.setter + def distanceType(self, value: PatternDistanceType): """ - Returns the Collection containing the ModelParameter. + Gets and sets how the distance between elements is computed. """ - return ModelParameters() + pass @property - def component(self) -> Component: + def isSuppressed(self) -> list[bool]: """ - Returns the Component containing the ModelParameter. + 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 Component() - @property - def role(self) -> str: + return [bool()] + @isSuppressed.setter + def isSuppressed(self, value: list[bool]): """ - This property identifies what the parameter is used for. For an extrude, it - could be "Depth", for a work plane it could be "Offset". + 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 str() + pass @property - def createdBy(self) -> core.Base: + def nativeObject(self) -> RectangularPatternConstraint: """ - Returns the object that created this parameter. For example, - a feature, a sketch dimension, or a construction plane. + 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 core.Base() + return RectangularPatternConstraint() -class MoveFeature(Feature): +class RectangularPatternFeature(Feature): """ - Object that represents an existing move feature in a design. + Object that represents an existing rectangular pattern feature in a design. """ def __init__(self): pass @staticmethod - def cast(arg) -> MoveFeature: - return MoveFeature() - def createForAssemblyContext(self, occurrence: Occurrence) -> MoveFeature: + def cast(arg) -> RectangularPatternFeature: + return RectangularPatternFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> RectangularPatternFeature: """ Creates or returns a proxy for the native object - i.e. a new object that represents this object but adds the assembly context @@ -26758,13 +48292,13 @@ def createForAssemblyContext(self, occurrence: Occurrence) -> MoveFeature: 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 MoveFeature() + return RectangularPatternFeature() @property def inputEntities(self) -> core.ObjectCollection: """ - Gets and sets the entities to move. This is done by using 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. + Gets and sets the input entities. The collection can contain faces, features, bodies or occurrences. + All of the entities must be of a single type. For example, it can't contain features and occurrences + but only features or occurrences. 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) @@ -26773,1588 +48307,1709 @@ def inputEntities(self) -> core.ObjectCollection: @inputEntities.setter def inputEntities(self, value: core.ObjectCollection): """ - Gets and sets the entities to move. This is done by using 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. + Gets and sets the input entities. The collection can contain faces, features, bodies or occurrences. + All of the entities must be of a single type. For example, it can't contain features and occurrences + but only features or occurrences. 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 transform(self) -> core.Matrix3D: + def directionOneEntity(self) -> core.Base: """ - Gets and sets the move transform of the input bodies. + Gets and sets the first direction entity. + This can be a linear edge, construction axis, sketch line or rectangular pattern feature. + If a rectangular pattern feature is set, the directionOneEntity and directionTwoEntity properties return the same rectangular pattern feature. 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.Matrix3D() - @transform.setter - def transform(self, value: core.Matrix3D): + return core.Base() + @directionOneEntity.setter + def directionOneEntity(self, value: core.Base): """ - Gets and sets the move transform of the input bodies. + Gets and sets the first direction entity. + This can be a linear edge, construction axis, sketch line or rectangular pattern feature. + If a rectangular pattern feature is set, the directionOneEntity and directionTwoEntity properties return the same rectangular pattern feature. 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 nativeObject(self) -> MoveFeature: - """ - 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 MoveFeature() - -class MultiLineTextDefinition(SketchTextDefinition): - """ - Defines the information for multi-line text. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> MultiLineTextDefinition: - return MultiLineTextDefinition() - def rotate(self, angle: float, keyPoint: TextBoxKeyPoints) -> bool: - """ - Rotates the text box. - angle : The angle to rotate the text, specified in radians. - keyPoint : The key point the rotation is defined around. This is optional and defaults the center of the text box. - Returns true if successful. - """ - return bool() - @property - def rectangleLines(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. 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() - @property - def horizontalAlignment(self) -> core.HorizontalAlignments: + def directionTwoEntity(self) -> core.Base: """ - Gets and sets the horizontal alignment of the text with respect to the text rectangle. + Gets and sets the second direction entity. + This can be a linear edge, construction axis, sketch line or rectangular pattern feature. + If a rectangular pattern feature is set, the directionOneEntity and directionTwoEntity properties return the same rectangular pattern feature. + This can be null when not entity has been specified to control the second direction. In this case Fusion will compute a default direction which is + 90 degrees to the direction one. + + 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.HorizontalAlignments() - @horizontalAlignment.setter - def horizontalAlignment(self, value: core.HorizontalAlignments): + return core.Base() + @directionTwoEntity.setter + def directionTwoEntity(self, value: core.Base): """ - Gets and sets the horizontal alignment of the text with respect to the text rectangle. + Gets and sets the second direction entity. + This can be a linear edge, construction axis, sketch line or rectangular pattern feature. + If a rectangular pattern feature is set, the directionOneEntity and directionTwoEntity properties return the same rectangular pattern feature. + This can be null when not entity has been specified to control the second direction. In this case Fusion will compute a default direction which is + 90 degrees to the direction one. + + 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 verticalAlignment(self) -> core.VerticalAlignments: - """ - Gets and sets the vertical alignment of the text with respect to the text rectangle. - """ - return core.VerticalAlignments() - @verticalAlignment.setter - def verticalAlignment(self, value: core.VerticalAlignments): + def directionOne(self) -> core.Vector3D: """ - Gets and sets the vertical alignment of the text with respect to the text rectangle. + Returns a Vector3D indicating the positive direction of direction one. """ - pass + return core.Vector3D() @property - def characterSpacing(self) -> float: - """ - Gets and sets the spacing between the characters. This is an additional spacing to apply - that is defined as a percentage of the default spacing. A spacing of 0 indicates no - additional spacing. A spacing of 50 indicates to use the default plus 50% of the default. - """ - return float() - @characterSpacing.setter - def characterSpacing(self, value: float): + def directionTwo(self) -> core.Vector3D: """ - Gets and sets the spacing between the characters. This is an additional spacing to apply - that is defined as a percentage of the default spacing. A spacing of 0 indicates no - additional spacing. A spacing of 50 indicates to use the default plus 50% of the default. + Returns a Vector3D indicating the positive direction of direction two. """ - pass - -class OffsetConstraint(GeometricConstraint): - """ - An offset constraint in a sketch. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> OffsetConstraint: - return OffsetConstraint() - def createForAssemblyContext(self, occurrence: Occurrence) -> OffsetConstraint: + return core.Vector3D() + @property + def quantityOne(self) -> ModelParameter: """ - 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. + Gets the number of instances in the first direction. + Edit the value through ModelParameter. + Returns nothing in the case where the feature is non-parametric. """ - return OffsetConstraint() + return ModelParameter() @property - def parentCurves(self) -> list[SketchCurve]: + def quantityTwo(self) -> ModelParameter: """ - Returns an array of sketch curves that are the set of parent curves. - Nothing should be assumed about the order in how the curves are returned. + Gets the number of instances in the second direction. + Edit the value through ModelParameter. + Returns nothing in the case where the feature is non-parametric. """ - return [SketchCurve()] + return ModelParameter() @property - def childCurves(self) -> list[SketchCurve]: + def distanceOne(self) -> ModelParameter: """ - Returns an array of sketch curves that are the set of child curves resulting from the offset. - Nothing should be assumed about the order in how the curves are returned. + Gets the distance in the first direction. + Edit the value through ModelParameter. + Returns nothing in the case where the feature is non-parametric. """ - return [SketchCurve()] + return ModelParameter() @property - def distance(self) -> float: + def distanceTwo(self) -> ModelParameter: """ - The current distance of the offset in centimeters. To change the offset you need to - modify the value of the parameter associated with the dimension, which you can get - using the dimension property. + Gets the distance in the second direction. + Edit the value through ModelParameter. + Returns nothing in the case where the feature is non-parametric. """ - return float() + return ModelParameter() @property - def dimension(self) -> SketchDimension: + def isSymmetricInDirectionOne(self) -> bool: """ - Returns the dimension controlling the offset distance. This can return null in the - case where the dimension has been deleted. To change the offset distance you can use - the parameter property of the returned dimension to get the parameter that controls the value and - use properties on the parameter to change the value. This can return either a SketchOffsetCurvesDimension - or an SketchOffsetDimension. A SketchOffsetCurvesDimension is created automatically when curves are - offset but if it is deleted the offset can also be controlled by a SketchOffsetDimension. + Gets and sets if the pattern in direction one is in one direction or symmetric. + + 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 SketchDimension() - @property - def nativeObject(self) -> OffsetConstraint: + return bool() + @isSymmetricInDirectionOne.setter + def isSymmetricInDirectionOne(self, value: bool): """ - 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 if the pattern in direction one is in one direction or symmetric. + + 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 OffsetConstraint() - -class OffsetFacesFeature(Feature): - """ - Object that represents an existing Offset Face feature in a design. - Offset Face features are created in the UI using the "Press Pull" command. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> OffsetFacesFeature: - return OffsetFacesFeature() - -class OffsetFeature(Feature): - """ - Object that represents an existing offset feature in a design. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> OffsetFeature: - return OffsetFeature() - def setInputEntities(self, entities: core.ObjectCollection, isChainSelection: bool) -> bool: + @property + def isSymmetricInDirectionTwo(self) -> bool: """ - Sets the faces and sheet bodies to offset. + Gets and sets if the pattern in direction two is in one direction or symmetric. - To use this method, you need to position the timeline marker to immediately before this feature. + 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) - entities : An ObjectCollection containing the BRepFace objects to offset. Additional faces may be - automatically used depending on the value of the isChainSelection argument. - Input faces need not be from the same body. - isChainSelection : A boolean value for setting whether or not faces that are tangentially connected to - the input faces (if any) will also be offset. The default value is true. - Returns true if successful """ return bool() - def createForAssemblyContext(self, occurrence: Occurrence) -> OffsetFeature: + @isSymmetricInDirectionTwo.setter + def isSymmetricInDirectionTwo(self, value: bool): """ - 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. + Gets and sets if the pattern in direction two is in one direction or symmetric. + + 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 OffsetFeature() + pass @property - def entities(self) -> core.ObjectCollection: + def patternDistanceType(self) -> PatternDistanceType: """ - Gets and sets the faces to be offset. + Gets and sets how the distance between elements is computed. Is initialized to ExtentPatternDistanceType when a new + RectangularPatternFeatureInput has been created. - To use this property, you need to position the timeline marker to immediately before this feature. + 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.ObjectCollection() - @entities.setter - def entities(self, value: core.ObjectCollection): + return PatternDistanceType() + @patternDistanceType.setter + def patternDistanceType(self, value: PatternDistanceType): """ - Gets and sets the faces to be offset. + Gets and sets how the distance between elements is computed. Is initialized to ExtentPatternDistanceType when a new + RectangularPatternFeatureInput has been created. - To use this property, you need to position the timeline marker to immediately before this feature. + 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 isChainSelection(self) -> bool: + def suppressedElementsIds(self) -> list[int]: """ - Get if the faces that are tangentially connected to the input faces (if any) are also offset. + Gets and sets the ids of the patterns to suppress. + + 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() + return [int()] + @suppressedElementsIds.setter + def suppressedElementsIds(self, value: list[int]): + """ + Gets and sets the ids of the patterns to suppress. + + 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: + def patternElements(self) -> PatternElements: """ - Returns the parameter controlling the offset distance. You can edit the distance - by editing the value of the parameter object. A positive value specifies that the offset - is in the same direction as the normal direction of the face. + Gets the PatternElements collection that contains the elements created by this pattern. """ - return ModelParameter() + return PatternElements() @property - def operation(self) -> FeatureOperations: + def resultFeatures(self) -> core.ObjectCollection: """ - Gets the feature operation that was performed when the feature was created, - (either 'NewBodyFeatureOperation' or 'NewComponentFeatureOperation'. + Get the features that were created for this pattern. + Returns null in the case where the feature is parametric. """ - return FeatureOperations() + return core.ObjectCollection() @property - def nativeObject(self) -> OffsetFeature: + 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. """ - return OffsetFeature() - -class OffsetStartDefinition(ExtentDefinition): - """ - A definition object that is used to define a feature whose start plane is defined as plane that is - offset from the sketch plane of the profile. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> OffsetStartDefinition: - return OffsetStartDefinition() - @staticmethod - def create(offset: core.ValueInput) -> OffsetStartDefinition: + return RectangularPatternFeature() + @property + def patternEntityType(self) -> PatternEntityTypes: """ - Statically creates a new OffsetStartDefinition object. This is used as input when - create a new feature and defining the starting condition. - offset : An input ValueInput objects that defines the offset distance. The offset can be positive or - negative. A positive value indicates an offset in the same direction as the z axis of the - profile plane. - Returns the newly created OffsetStartDefinition object or null in the case of failure. + Returns the type of entities the pattern consists of. This can be used to help + determine the type of results that will be found in the pattern elements. """ - return OffsetStartDefinition() + return PatternEntityTypes() @property - def offset(self) -> core.Base: + def patternComputeOption(self) -> PatternComputeOptions: """ - Gets the currently defined offset value. If the ProfilePlaneWithOffsetDefinition object was - created statically and is not associated with a feature, this will return a ValueInput object. - if the ProfilePlaneWithOffsetDefinition is associated with an existing feature, this will return - the parameter that was created when the feature was created. To edit the offset, use properties - on the parameter to change the value of the parameter. + Gets and sets the compute option for this pattern feature. + This property only applies when patterning features and is ignored in the direct modeling environment. + + 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() - @property - def profilePlane(self) -> core.Plane: + return PatternComputeOptions() + @patternComputeOption.setter + def patternComputeOption(self, value: PatternComputeOptions): """ - Returns the geometric definition of the profile plane. + Gets and sets the compute option for this pattern feature. + This property only applies when patterning features and is ignored in the direct modeling environment. + + 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.Plane() + pass -class OnEdgeHolePositionDefinition(HolePositionDefinition): +class RefoldFeature(Feature): """ - Provides positioning information for a hole that is positioned - on the start, end or center of an edge. + Object that represents an existing refold feature in a design. """ def __init__(self): pass @staticmethod - def cast(arg) -> OnEdgeHolePositionDefinition: - return OnEdgeHolePositionDefinition() - @property - def planarEntity(self) -> core.Base: + def cast(arg) -> RefoldFeature: + return RefoldFeature() + +class RemoveFeature(Feature): + """ + Object that represents an existing Remove feature in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> RemoveFeature: + return RemoveFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> RemoveFeature: """ - Returns the plane that defines the orientation and start of the hole. + 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 core.Base() + return RemoveFeature() @property - def edge(self) -> BRepEdge: + def itemToRemove(self) -> core.Base: """ - Returns the edge the hole is positioned on. + Gets and sets the body or component occurrence to remove. + + 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 BRepEdge() + return core.Base() @property - def position(self) -> HoleEdgePositions: + def nativeObject(self) -> RemoveFeature: """ - Returns the position of the hole on the edge. - The hole can be at the start, midpoint, or end of the edge. + 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 HoleEdgePositions() + return RemoveFeature() -class OneSideToExtentDefinition(ExtentDefinition): +class RenderEvent(core.Event): """ - Defines the inputs for a OneSideToExtentDefinition object. - This defines a feature extent that goes up to a face or construction plane in one direction. + 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) -> 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): + def cast(arg) -> RenderEvent: + return RenderEvent() + def add(self, handler: RenderEventHandler) -> bool: """ - 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. + 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() - @matchShape.setter - def matchShape(self, value: bool): + def remove(self, handler: RenderEventHandler) -> 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. + 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. """ - pass + return bool() -class ParallelConstraint(GeometricConstraint): +class RenderEventArgs(core.EventArgs): """ - A parallel constraint in a sketch. + 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) -> ParallelConstraint: - return ParallelConstraint() - def createForAssemblyContext(self, occurrence: Occurrence) -> ParallelConstraint: - """ - 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 ParallelConstraint() - @property - def lineOne(self) -> SketchLine: - """ - Returns the first line. - """ - return SketchLine() - @property - def lineTwo(self) -> SketchLine: - """ - Returns the second line. - """ - return SketchLine() + def cast(arg) -> RenderEventArgs: + return RenderEventArgs() @property - def nativeObject(self) -> ParallelConstraint: + def viewport(self) -> core.Viewport: """ - 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. + Returns the viewport that the rendering was performed in when the render is an in-canvas rendering. """ - return ParallelConstraint() + return core.Viewport() -class PatchFeature(Feature): +class ReplaceFaceFeature(Feature): """ - Object that represents an existing patch feature in a design. + Object that represents an existing replace face feature in a design. """ def __init__(self): pass @staticmethod - def cast(arg) -> PatchFeature: - return PatchFeature() - def createForAssemblyContext(self, occurrence: Occurrence) -> PatchFeature: + def cast(arg) -> ReplaceFaceFeature: + return ReplaceFaceFeature() + def setInputEntities(self, sourceFaces: core.ObjectCollection, isTangentChain: bool) -> bool: + """ + Method that sets faces to replace. + + 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) + sourceFaces : The collection can contain the faces from a solid and/or from features. All the faces must be on the same body. + isTangentChain : A boolean value for setting whether or not faces that are tangentially connected to + the input faces (if any) will also be included. A value of true indicates that tangent + faces will be included. + Returns true if successful. + """ + return bool() + def createForAssemblyContext(self, occurrence: Occurrence) -> ReplaceFaceFeature: """ 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. + Returns the proxy object or null if this isn't the NativeObject. """ - return PatchFeature() + return ReplaceFaceFeature() @property - def boundaryCurve(self) -> core.Base: + def targetFaces(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. - - 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. - - 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 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. + Gets and sets the entities that define the target faces. The new faces must completely intersect the part. + The collection can contain the surface faces, surface bodies and construction planes. 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() - @boundaryCurve.setter - def boundaryCurve(self, value: core.Base): + @targetFaces.setter + def targetFaces(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. - - 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. - - 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 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. + Gets and sets the entities that define the target faces. The new faces must completely intersect the part. + The collection can contain the surface faces, surface bodies and construction planes. 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 operation(self) -> FeatureOperations: - """ - Gets the type of operation performed by the patch feature. - """ - return FeatureOperations() - @property - def continuity(self) -> 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. - - 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 SurfaceContinuityTypes() - @continuity.setter - def continuity(self, value: SurfaceContinuityTypes): + def isTangentChain(self) -> bool: """ - 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. - - 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) + Gets if any faces that are tangentially connected to any of + the input faces will also be included in setting InputEntities. """ - pass + return bool() @property - def nativeObject(self) -> PatchFeature: + 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. """ - return PatchFeature() + return ReplaceFaceFeature() -class PathPatternFeature(Feature): +class ReverseNormalFeature(Feature): """ - Object that represents an existing path pattern feature in a design. + Object that represents an existing Reverse Normal feature in a design. """ def __init__(self): pass @staticmethod - def cast(arg) -> PathPatternFeature: - return PathPatternFeature() - def createForAssemblyContext(self, occurrence: Occurrence) -> PathPatternFeature: + def cast(arg) -> ReverseNormalFeature: + return ReverseNormalFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> ReverseNormalFeature: """ 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. + Returns the proxy object or null if this is not the NativeObject. """ - return PathPatternFeature() + return ReverseNormalFeature() @property - def inputEntities(self) -> core.ObjectCollection: + def surfaces(self) -> core.ObjectCollection: """ - Gets and sets the input entities. The collection can contain faces, features, bodies or occurrences. - All of the entities must be of a single type. For example, it can't contain features and occurrences - but only features or occurrences. + Gets and sets the surface bodies (open BRepBodies) whose faces normals are to be reversed. + All faces of the input surface bodies get reversed. 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() - @inputEntities.setter - def inputEntities(self, value: core.ObjectCollection): + @surfaces.setter + def surfaces(self, value: core.ObjectCollection): """ - Gets and sets the input entities. The collection can contain faces, features, bodies or occurrences. - All of the entities must be of a single type. For example, it can't contain features and occurrences - but only features or occurrences. + Gets and sets the surface bodies (open BRepBodies) whose faces normals are to be reversed. + All faces of the input surface bodies get reversed. 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 path(self) -> Path: + def nativeObject(self) -> ReverseNormalFeature: """ - Gets and sets the path to create the pattern on path. - - 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) + 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 Path() - @path.setter - def path(self, value: Path): + return ReverseNormalFeature() + +class RevoluteJointMotion(JointMotion): + """ + Represents the set of information specific to a revolute joint. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> RevoluteJointMotion: + return RevoluteJointMotion() + @property + def rotationAxis(self) -> JointDirections: """ - Gets and sets the path to create the pattern on path. - - 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) + Gets and sets the direction of the axis of rotation. This can be set to + XAxisJointDirection, YAxisJointDirection, or ZAxisJointDirection. It can + return those three directions and CustomJointDirection. If this returns + CustomJointDirection then the customRotationAxisEntity will return an entity + that defines the axis. If there is a custom rotation axis defined and this + property is set to one of the three standard axes, the custom rotation will + be removed and customRotationAxisEntity will return null. + """ + return JointDirections() + @rotationAxis.setter + def rotationAxis(self, value: JointDirections): + """ + Gets and sets the direction of the axis of rotation. This can be set to + XAxisJointDirection, YAxisJointDirection, or ZAxisJointDirection. It can + return those three directions and CustomJointDirection. If this returns + CustomJointDirection then the customRotationAxisEntity will return an entity + that defines the axis. If there is a custom rotation axis defined and this + property is set to one of the three standard axes, the custom rotation will + be removed and customRotationAxisEntity will return null. """ pass @property - def quantity(self) -> ModelParameter: + def rotationAxisVector(self) -> core.Vector3D: """ - Gets the quantity of the elements. - Edit the value through ModelParameter. - Returns nothing in the case where the feature is non-parametric. + Returns the direction of the rotation axis. This property will return null in the case + where the RevolutionJointMotion object was obtained from a JointInput object. """ - return ModelParameter() + return core.Vector3D() @property - def distance(self) -> ModelParameter: + def customRotationAxisEntity(self) -> core.Base: """ - Gets the distance. - Edit the value through ModelParameter. - Returns nothing in the case where the feature is non-parametric. + This property can be set using various types of entities that can infer an + axis. For example, a linear edge, sketch line, planar face, and cylindrical face. + This property is only valid in the case where the rotationAxis property returns + CustomJointDirection. Setting this property will automatically set + the rotationAxis property to CustomJointDirection. """ - return ModelParameter() + return core.Base() + @customRotationAxisEntity.setter + def customRotationAxisEntity(self, value: core.Base): + """ + This property can be set using various types of entities that can infer an + axis. For example, a linear edge, sketch line, planar face, and cylindrical face. + This property is only valid in the case where the rotationAxis property returns + CustomJointDirection. Setting this property will automatically set + the rotationAxis property to CustomJointDirection. + """ + pass @property - def startPoint(self) -> float: + def rotationValue(self) -> float: """ - Gets and sets the start point on the path to count the distance. - It's between 0 and 1. 0 means start point of the path, 1 means end point of the path. - - 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) + Gets and sets the rotation value. This is in radians. Setting this value is + the equivalent of using the Drive Joints command. """ return float() - @startPoint.setter - def startPoint(self, value: float): + @rotationValue.setter + def rotationValue(self, value: float): """ - Gets and sets the start point on the path to count the distance. - It's between 0 and 1. 0 means start point of the path, 1 means end point of the path. - - 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) + Gets and sets the rotation value. This is in radians. Setting this value is + the equivalent of using the Drive Joints command. """ pass @property - def isFlipDirection(self) -> bool: + def rotationLimits(self) -> JointLimits: """ - Gets and sets if flip the direction from start point. + Returns a JointLimits object that defines the rotation limits for this joint. + Use the functionality of the returned JointLimits object to get, set, and modify + the joint limits. + """ + return JointLimits() + +class RevolveFeature(Feature): + """ + Object that represents an existing revolve feature in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> RevolveFeature: + return RevolveFeature() + def setAngleExtent(self, isSymmetric: bool, angle: core.ValueInput) -> bool: + """ + Defines the extent of the revolution to be at a defined angle. - To set this property, you need to position the timeline marker to immediately before this 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) + isSymmetric : Boolean that specifies if the extent is symmetric or not. + angle : ValueInput object that defines the angle. 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. + + If isSymmetric is false a positive or negative angle can be + used to control the direction. If isSymmetric is true, the angle is the extent in one + direction so the entire angle of the revolution will be twice the specified angle. + Use an angle of 360 deg or 2 pi radians to create a full revolve. + Returns true if successful """ return bool() - @isFlipDirection.setter - def isFlipDirection(self, value: bool): + def setTwoSideAngleExtent(self, angleOne: core.ValueInput, angleTwo: core.ValueInput) -> bool: """ - Gets and sets if flip the direction from start point. + Changes the extent of the revolve to be defined as a two sided angle extent. - To set this property, you need to position the timeline marker to immediately before this 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) + angleOne : ValueInput object that defines the first angle. 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. + angleTwo : ValueInput object that defines the second angle. 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. + Returns true if successful """ - pass - @property - def patternDistanceType(self) -> PatternDistanceType: + return bool() + def setOneSideToExtent(self, toEntity: core.Base, directionHint: core.Vector3D = None) -> bool: """ - Gets and sets how the distance between elements is computed. + Changes the extent of the revolve to be from the sketch plane to the specified "to" face. - To set this property, you need to position the timeline marker to immediately before this 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) + 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 a revolve it can be a BRepBody, BRepFace, + BRepVertex, ConstructionPlane, or ConstructionPoint. + directionHint : Specifies the direction of the revolve. + Returns true if successful. """ - return PatternDistanceType() - @patternDistanceType.setter - def patternDistanceType(self, value: PatternDistanceType): + return bool() + def setTwoSidesToExtent(self, toEntityOne: core.Base, toEntityTwo: core.Base) -> bool: """ - Gets and sets how the distance between elements is computed. + Changes the extent of the revolve to be defined as a two sided to extent. - To set this property, you need to position the timeline marker to immediately before this 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) + 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 a revolve 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 a revolve it can be a BRepBody, BRepFace, + BRepVertex, ConstructionPlane, or ConstructionPoint. + Returns true if successful """ - pass + return bool() + def createForAssemblyContext(self, occurrence: Occurrence) -> RevolveFeature: + """ + 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 RevolveFeature() @property - def isSymmetric(self) -> bool: + def profile(self) -> core.Base: """ - Gets and sets if the pattern is in one direction or symmetric. + Gets and sets the profiles or planar faces used to define the shape of the revolve. + This property can return or be set with a single Profile, a single planar face, or + an ObjectCollection consisting of multiple profiles and planar faces. When an + ObjectCollection is used all of the profiles and faces must be co-planar. - To set this property, you need to position the timeline marker to immediately before this feature. + When setting this property of a surface (non-solid) extrusion, you can use the + createOpenProfile and createBRepEdgeProfile methods of the Component object to create + an open profile. + + 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 null in the case where the feature is non-parametric. """ - return bool() - @isSymmetric.setter - def isSymmetric(self, value: bool): + return core.Base() + @profile.setter + def profile(self, value: core.Base): """ - Gets and sets if the pattern is in one direction or symmetric. + Gets and sets the profiles or planar faces used to define the shape of the revolve. + This property can return or be set with a single Profile, a single planar face, or + an ObjectCollection consisting of multiple profiles and planar faces. When an + ObjectCollection is used all of the profiles and faces must be co-planar. - To set this property, you need to position the timeline marker to immediately before this feature. + When setting this property of a surface (non-solid) extrusion, you can use the + createOpenProfile and createBRepEdgeProfile methods of the Component object to create + an open profile. + + 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 null in the case where the feature is non-parametric. """ pass @property - def isOrientationAlongPath(self) -> bool: + def axis(self) -> core.Base: """ - Gets and sets if the orientation is along path. - If false, the orientation is identical. + Gets and sets the entity used to define the axis of revolution. + The axis can be a sketch line, construction axis, linear edge or a face that defines an + axis (cylinder, cone, torus, etc.). If it is not in the same plane as the profile, it is + projected onto the profile plane. - To set this property, you need to position the timeline marker to immediately before this feature. + 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() - @isOrientationAlongPath.setter - def isOrientationAlongPath(self, value: bool): + return core.Base() + @axis.setter + def axis(self, value: core.Base): """ - Gets and sets if the orientation is along path. - If false, the orientation is identical. + Gets and sets the entity used to define the axis of revolution. + The axis can be a sketch line, construction axis, linear edge or a face that defines an + axis (cylinder, cone, torus, etc.). If it is not in the same plane as the profile, it is + projected onto the profile plane. - To set this property, you need to position the timeline marker to immediately before this feature. + 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 suppressedElementsIds(self) -> list[int]: + def operation(self) -> FeatureOperations: """ - Gets and sets the id's of the elements to suppress. + Gets and sets the type of operation performed by the revolve. - To set this property, you need to position the timeline marker to immediately before this feature. + 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 [int()] - @suppressedElementsIds.setter - def suppressedElementsIds(self, value: list[int]): + return FeatureOperations() + @operation.setter + def operation(self, value: FeatureOperations): """ - Gets and sets the id's of the elements to suppress. + Gets and sets the type of operation performed by the revolve. - To set this property, you need to position the timeline marker to immediately before this feature. + 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 patternElements(self) -> PatternElements: + def extentDefinition(self) -> ExtentDefinition: """ - Gets the PatternElements collection that contains the elements created by this pattern. + Gets the definition object that is defining the extent of the revolve. Modifying the + definition object will cause the revolve to recompute. Various types of objects can + be returned depending on the type of extent currently defined for the revolve. + This property returns nothing in the case where the feature is non-parametric. """ - return PatternElements() + return ExtentDefinition() @property - def resultFeatures(self) -> core.ObjectCollection: + def startFaces(self) -> BRepFaces: """ - Get the features that were created for this mirror. - Returns null in the case where the feature is parametric. + Property that returns the set of faces that cap one end of the revolve and are coincident + with the sketch plane. In the case of a symmetric revolve these faces are the ones on the + positive normal side of the sketch plane. In the case where there aren't any start faces, + this property will return null. """ - return core.ObjectCollection() + return BRepFaces() @property - def nativeObject(self) -> PathPatternFeature: + def endFaces(self) -> BRepFaces: + """ + Property that returns the set of faces that cap the end of the revolve opposite the + start faces. In the case where there aren't any start faces, this property will return null. + """ + return BRepFaces() + @property + def sideFaces(self) -> BRepFaces: + """ + Property that returns all of the faces created around the perimeter of the feature. + """ + return BRepFaces() + @property + 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. """ - return PathPatternFeature() + return RevolveFeature() @property - def patternEntityType(self) -> PatternEntityTypes: + def isSolid(self) -> bool: """ - Returns the type of entities the pattern consists of. This can be used to help - determine the type of results that will be found in the pattern elements. + Indicates if this feature was initially created as a solid or a surface. """ - return PatternEntityTypes() + return bool() @property - def patternComputeOption(self) -> PatternComputeOptions: + def participantBodies(self) -> list[BRepBody]: """ - Gets and sets the compute option for this pattern feature. - This property only applies when patterning features and is ignored in the direct modeling environment. + Gets and sets the list of bodies that will participate in the feature when the operation is a cut or intersection. - To set this property, you need to position the timeline marker to immediately before this feature. + 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 PatternComputeOptions() - @patternComputeOption.setter - def patternComputeOption(self, value: PatternComputeOptions): + return [BRepBody()] + @participantBodies.setter + def participantBodies(self, value: list[BRepBody]): """ - Gets and sets the compute option for this pattern feature. - This property only applies when patterning features and is ignored in the direct modeling environment. + Gets and sets the list of bodies that will participate in the feature when the operation is a cut or intersection. - To set this property, you need to position the timeline marker to immediately before this feature. + 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 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): + """ + Object that represents an existing Rib feature in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> RibFeature: + return RibFeature() + +class RigidJointMotion(JointMotion): + """ + Represents the set of information specific to a rigid joint. A + rigid joint doesn't support any additional information beyond + getting the joint type which it derives from JointMotion. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> RigidJointMotion: + return RigidJointMotion() -class PerpendicularConstraint(GeometricConstraint): +class RipFeature(Feature): """ - A perpendicular constraint in a sketch. + Object that represents an existing Rip feature in a design. """ def __init__(self): pass @staticmethod - def cast(arg) -> PerpendicularConstraint: - return PerpendicularConstraint() - def createForAssemblyContext(self, occurrence: Occurrence) -> PerpendicularConstraint: + 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 isn't the NativeObject. + Returns the proxy object or null if this is not the NativeObject. """ - return PerpendicularConstraint() + return RipFeature() @property - def lineOne(self) -> SketchLine: + def definitionType(self) -> RipFeatureDefinitionTypes: """ - Returns the first line. + Gets the type of rip defined. """ - return SketchLine() + return RipFeatureDefinitionTypes() @property - def lineTwo(self) -> SketchLine: + def definition(self) -> RipFeatureDefinition: """ - Returns the second line. + Returns the RipFeatureDefinition object which provides access to the information + defining this RipFeature and the ability to edit it. """ - return SketchLine() + return RipFeatureDefinition() @property - def nativeObject(self) -> PerpendicularConstraint: + def nativeObject(self) -> RipFeature: """ 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 PerpendicularConstraint() + return RipFeature() -class PinSlotJointMotion(JointMotion): +class RolledHemFeatureDefinition(HemFeatureDefinition): """ - Represents the set of information specific to a pin slot joint. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + The definition for a rolled hem. """ def __init__(self): pass @staticmethod - def cast(arg) -> PinSlotJointMotion: - return PinSlotJointMotion() + def cast(arg) -> RolledHemFeatureDefinition: + return RolledHemFeatureDefinition() @property - def rotationAxis(self) -> JointDirections: + def radius(self) -> ModelParameter: """ - Gets and sets the direction of the axis of rotation. This can be set to - XAxisJointDirection, YAxisJointDirection, or ZAxisJointDirection. It can - return those three directions and CustomJointDirection. If this returns - CustomJointDirection then the customRotationAxisEntity will return an entity - that defines the axis. If there is a custom rotation axis defined and this - property is set to one of the three standard axes, the custom rotation will - be removed and customRotationAxisEntity will return null. + Gets the radius for a rolled hem. """ - return JointDirections() - @rotationAxis.setter - def rotationAxis(self, value: JointDirections): + return ModelParameter() + @property + def angle(self) -> ModelParameter: """ - Gets and sets the direction of the axis of rotation. This can be set to - XAxisJointDirection, YAxisJointDirection, or ZAxisJointDirection. It can - return those three directions and CustomJointDirection. If this returns - CustomJointDirection then the customRotationAxisEntity will return an entity - that defines the axis. If there is a custom rotation axis defined and this - property is set to one of the three standard axes, the custom rotation will - be removed and customRotationAxisEntity will return null. + Gets the angle for a rolled hem. """ + return ModelParameter() + +class RopeHemFeatureDefinition(HemFeatureDefinition): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + The definition for a rope hem. + """ + def __init__(self): pass + @staticmethod + def cast(arg) -> RopeHemFeatureDefinition: + return RopeHemFeatureDefinition() @property - def rotationAxisVector(self) -> core.Vector3D: + def radius(self) -> ModelParameter: """ - Returns the direction of the rotation axis. This property will return null in the case - where the PinSlotJointMotion object was obtained from a JointInput object. + Gets the radius for a rope hem. """ - return core.Vector3D() + return ModelParameter() @property - def customRotationAxisEntity(self) -> core.Base: + def gap(self) -> ModelParameter: """ - This property can be set using various types of entities that can infer an - axis. For example, a linear edge, sketch line, planar face, and cylindrical face. - This property is only valid in the case where the rotationAxis property returns - CustomJointDirection. Setting this property will automatically set - the rotationAxis property to CustomJointDirection. - - To set this property, you need to position the timeline marker to immediately before this joint. - This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) + Gets the gap for a rope hem. """ - return core.Base() - @customRotationAxisEntity.setter - def customRotationAxisEntity(self, value: core.Base): + return ModelParameter() + @property + def length(self) -> ModelParameter: """ - This property can be set using various types of entities that can infer an - axis. For example, a linear edge, sketch line, planar face, and cylindrical face. - This property is only valid in the case where the rotationAxis property returns - CustomJointDirection. Setting this property will automatically set - the rotationAxis property to CustomJointDirection. - - To set this property, you need to position the timeline marker to immediately before this joint. - This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) + Gets the length for a rope hem. """ + return ModelParameter() + +class RuledSurfaceFeature(Feature): + """ + Object that represents an existing RuledSurface feature in a design. + """ + def __init__(self): pass + @staticmethod + def cast(arg) -> RuledSurfaceFeature: + return RuledSurfaceFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> RuledSurfaceFeature: + """ + 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 RuledSurfaceFeature() @property - def rotationValue(self) -> float: + def profile(self) -> core.Base: """ - Gets and sets the rotation value. This is in radians. Setting this value is - the equivalent of using the Drive Joints command. + Gets and sets the Profile object that defines the sketch geometry or edges that define the shape of + the ruled surface. The Component.createBRepEdgeProfile method is useful to create a profile defined from edges. + + In many cases the RuledSurface operation results in the profile being consumed so it is no longer available + after the feature is created. In this case, you need to reposition the timeline marker to just before this feature, + when the profile still exists. """ - return float() - @rotationValue.setter - def rotationValue(self, value: float): + return core.Base() + @profile.setter + def profile(self, value: core.Base): """ - Gets and sets the rotation value. This is in radians. Setting this value is - the equivalent of using the Drive Joints command. + Gets and sets the Profile object that defines the sketch geometry or edges that define the shape of + the ruled surface. The Component.createBRepEdgeProfile method is useful to create a profile defined from edges. + + In many cases the RuledSurface operation results in the profile being consumed so it is no longer available + after the feature is created. In this case, you need to reposition the timeline marker to just before this feature, + when the profile still exists. """ pass @property - def rotationLimits(self) -> JointLimits: + def distance(self) -> ModelParameter: """ - Returns a JointLimits object that defines the rotation limits for this joint. - Use the functionality of the returned JointLimits object to get, set, and modify - the joint limits. + Returns the parameter controlling the Ruled Surface distance. You can edit the distance + by editing the value of the parameter object. """ - return JointLimits() + return ModelParameter() @property - def slideDirection(self) -> JointDirections: + def angle(self) -> ModelParameter: """ - Gets and sets the direction of the slide motion in the slot. This can be set to - XAxisJointDirection, YAxisJointDirection, or ZAxisJointDirection. It can - return those three directions and CustomJointDirection. If this returns - CustomJointDirection then the customSlideDirectionEntity will return an entity - that defines the direction. If there is a custom direction defined and this - property is set to one of the three standard axes, the custom direction will - be removed and customSlideDirectionEntity will return null. + Returns the parameter controlling the Ruled Surface angle. You can edit the angle + by editing the value of the parameter object. """ - return JointDirections() - @slideDirection.setter - def slideDirection(self, value: JointDirections): + return ModelParameter() + @property + def ruledSurfaceType(self) -> RuledSurfaceTypes: """ - Gets and sets the direction of the slide motion in the slot. This can be set to - XAxisJointDirection, YAxisJointDirection, or ZAxisJointDirection. It can - return those three directions and CustomJointDirection. If this returns - CustomJointDirection then the customSlideDirectionEntity will return an entity - that defines the direction. If there is a custom direction defined and this - property is set to one of the three standard axes, the custom direction will - be removed and customSlideDirectionEntity will return null. + Gets and sets the type of ruled surface. To set this to DirectionRuledSurfaceType, + use the direction property to set the direction entity, which will automatically set + this to DirectionRuledSurfaceType. """ - pass - @property - def slideDirectionVector(self) -> core.Vector3D: + return RuledSurfaceTypes() + @ruledSurfaceType.setter + def ruledSurfaceType(self, value: RuledSurfaceTypes): """ - Returns the direction of the primary slide direction. This property will return null in the case - where the PinSlotJointMotion object was obtained from a JointInput object. + Gets and sets the type of ruled surface. To set this to DirectionRuledSurfaceType, + use the direction property to set the direction entity, which will automatically set + this to DirectionRuledSurfaceType. """ - return core.Vector3D() + pass @property - def customSlideDirectionEntity(self) -> core.Base: + def direction(self) -> core.Base: """ - This property can be set using various types of entities that can infer a - direction. For example, a linear edge, sketch line, planar face, and cylindrical face. - This property is only valid in the case where the slideDirection property returns - CustomJointDirection. Setting this property will automatically set - the slideDirection property to CustomJointDirection. + Gets and sets the entity that defines the direction when the ruled surface type is DirectionRuledSurfaceType. + The direction is specified by providing a linear or planar entity. For example, a linear edge, construction axis, + planar face, or construction plane can be used as input. - To set this property, you need to position the timeline marker to immediately before this joint. - This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) + If this property is set when the ruledSurfaceType is not DirectionRuledSurfaceType, the type will automatically be + changed to DirectionRuledSurfaceType. If you get this property when the direction is not DirectionRuledSurfaceType, + it will return null. """ return core.Base() - @customSlideDirectionEntity.setter - def customSlideDirectionEntity(self, value: core.Base): + @direction.setter + def direction(self, value: core.Base): """ - This property can be set using various types of entities that can infer a - direction. For example, a linear edge, sketch line, planar face, and cylindrical face. - This property is only valid in the case where the slideDirection property returns - CustomJointDirection. Setting this property will automatically set - the slideDirection property to CustomJointDirection. + Gets and sets the entity that defines the direction when the ruled surface type is DirectionRuledSurfaceType. + The direction is specified by providing a linear or planar entity. For example, a linear edge, construction axis, + planar face, or construction plane can be used as input. - To set this property, you need to position the timeline marker to immediately before this joint. - This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) + If this property is set when the ruledSurfaceType is not DirectionRuledSurfaceType, the type will automatically be + changed to DirectionRuledSurfaceType. If you get this property when the direction is not DirectionRuledSurfaceType, + it will return null. """ pass @property - def slideValue(self) -> float: + def alternateFace(self) -> bool: """ - Gets and sets the slide value. This is in centimeters. Setting this value is - the equivalent of using the Drive Joints command. + Gets and sets if the other face is used for creation of the Ruled Surface. + When creating a ruled surface using the edges of a solid or the interior edges + of a surface the angle of the ruled surface is measured with respect to the + face the selected edge is bounding. For a solid, or an interior edge on a surface, + the edge connects to two faces. This setting toggles which of the two faces will + be used for measuring the angle. """ - return float() - @slideValue.setter - def slideValue(self, value: float): + return bool() + @alternateFace.setter + def alternateFace(self, value: bool): """ - Gets and sets the slide value. This is in centimeters. Setting this value is - the equivalent of using the Drive Joints command. + Gets and sets if the other face is used for creation of the Ruled Surface. + When creating a ruled surface using the edges of a solid or the interior edges + of a surface the angle of the ruled surface is measured with respect to the + face the selected edge is bounding. For a solid, or an interior edge on a surface, + the edge connects to two faces. This setting toggles which of the two faces will + be used for measuring the angle. """ pass @property - def slideLimits(self) -> JointLimits: + def nativeObject(self) -> RuledSurfaceFeature: """ - Returns a JointLimits object that defines the slide limits for this joint. - Use the functionality of the returned JointLimits object to get, set, and modify - the joint limits. + 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 JointLimits() + return RuledSurfaceFeature() + @property + def cornerType(self) -> RuledSurfaceCornerTypes: + """ + Gets and sets the corner type for the ruled surface, indicating if the corners will be rounded or mitered. + The default value is rounded. + """ + return RuledSurfaceCornerTypes() + @cornerType.setter + def cornerType(self, value: RuledSurfaceCornerTypes): + """ + Gets and sets the corner type for the ruled surface, indicating if the corners will be rounded or mitered. + The default value is rounded. + """ + pass -class PipeFeature(Feature): +class SATExportOptions(ExportOptions): """ - Object that represents an existing pipe feature in a design. + Defines that a SAT export is to be done and specifies the various options. """ def __init__(self): pass @staticmethod - def cast(arg) -> PipeFeature: - return PipeFeature() + def cast(arg) -> SATExportOptions: + return SATExportOptions() -class PlanarJointMotion(JointMotion): +class ScaleFeature(Feature): """ - Represents the set of information specific to a planar joint. + Object that represents an existing scale feature in a design. """ def __init__(self): pass @staticmethod - def cast(arg) -> PlanarJointMotion: - return PlanarJointMotion() - @property - def normalDirection(self) -> JointDirections: + def cast(arg) -> ScaleFeature: + return ScaleFeature() + def setToUniform(self, scaleFactor: core.ValueInput) -> bool: """ - Gets and sets the direction of the normal of the single degree of rotation. - This can be set to XAxisJointDirection, YAxisJointDirection, or ZAxisJointDirection. - It can return those three directions and CustomJointDirection. If this returns - CustomJointDirection then the customNormalDirectionEntity will return an entity - that defines the direction. If there is a custom direction defined and this - property is set to one of the three standard axes, the custom direction will - be removed and customNormalDirectionEntity will return null. + Calling this method will change to a uniform scale. + The isUniform is set to true if successful. + + 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) + scaleFactor : A ValueInput object that defines the scale factor. + Returns true if successful. """ - return JointDirections() - @normalDirection.setter - def normalDirection(self, value: JointDirections): + return bool() + def setToNonUniform(self, xScale: core.ValueInput, yScale: core.ValueInput, zScale: core.ValueInput) -> bool: """ - Gets and sets the direction of the normal of the single degree of rotation. - This can be set to XAxisJointDirection, YAxisJointDirection, or ZAxisJointDirection. - It can return those three directions and CustomJointDirection. If this returns - CustomJointDirection then the customNormalDirectionEntity will return an entity - that defines the direction. If there is a custom direction defined and this - property is set to one of the three standard axes, the custom direction will - be removed and customNormalDirectionEntity will return null. + Calling this method will change to a non-uniform scale. + Fails of the inputEntities collection contains sketches or components. + The isUniform is set to false if successful. + + 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) + xScale : A ValueInput object that defines the scale in the X direction. + yScale : A ValueInput object that defines the scale in the Y direction. + zScale : A ValueInput object that defines the scale in the Z direction. + Returns true if successful. """ - pass - @property - def normalDirectionVector(self) -> core.Vector3D: + return bool() + def createForAssemblyContext(self, occurrence: Occurrence) -> ScaleFeature: """ - Returns the direction of the normal direction. This property will return null in the case - where the PlanarJointMotion object was obtained from a JointInput object. + 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 core.Vector3D() + return ScaleFeature() @property - def customNormalDirectionEntity(self) -> core.Base: + def inputEntities(self) -> core.ObjectCollection: """ - This property defines a custom normal direction and can be set using various types - of entities that can infer a direction. For example, a linear edge, sketch line, - planar face, and cylindrical face.This property is only valid in the case where the - normalDirection property returns CustomJointDirection. Setting this property will - automatically set the normalDirection property to CustomJointDirection. + Gets and sets the input entities. + This collection can contain sketches, BRep bodies and T-Spline bodies in parametric modeling. + It can contain sketches, BRep bodies, T-Spline bodies, mesh bodies, root component and occurrences in non-parametric modeling. + If the scaling is non-uniform (the isUniform property is false), this collection cannot contain sketches or components. - To set this property, you need to position the timeline marker to immediately before this joint. - This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) + 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() - @customNormalDirectionEntity.setter - def customNormalDirectionEntity(self, value: core.Base): + return core.ObjectCollection() + @inputEntities.setter + def inputEntities(self, value: core.ObjectCollection): """ - This property defines a custom normal direction and can be set using various types - of entities that can infer a direction. For example, a linear edge, sketch line, - planar face, and cylindrical face.This property is only valid in the case where the - normalDirection property returns CustomJointDirection. Setting this property will - automatically set the normalDirection property to CustomJointDirection. + Gets and sets the input entities. + This collection can contain sketches, BRep bodies and T-Spline bodies in parametric modeling. + It can contain sketches, BRep bodies, T-Spline bodies, mesh bodies, root component and occurrences in non-parametric modeling. + If the scaling is non-uniform (the isUniform property is false), this collection cannot contain sketches or components. - To set this property, you need to position the timeline marker to immediately before this joint. - This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) + 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 primarySlideDirection(self) -> JointDirections: - """ - Gets the direction used as the primary direction for the two translational degrees of - freedom. The value of this property is automatically set when setting the normalDirection. - When reading this value it can return XAxisJointDirection, YAxisJointDirection, ZAxisJointDirection, - or CustomJointDirection. If it's CustomJointDirection then the direction the direction can be - determined using the primarySlideDirectionVector and the entity controlling the direction can - be get and set using the customPrimarySlideDirectionEntity. - """ - return JointDirections() - @property - def primarySlideDirectionVector(self) -> core.Vector3D: - """ - Returns the direction of the primary slide direction. This property will return null in the case - where the PlanarJointMotion object was obtained from a JointInput object. - """ - return core.Vector3D() - @property - def customPrimarySlideDirectionEntity(self) -> core.Base: + def point(self) -> core.Base: """ - This property can be set using various types of entities that can infer a - direction. For example, a linear edge, sketch line, planar face, and cylindrical face. - When reading this property, it is only valid in the case where the primarySlideDirection property returns - CustomJointDirection. Setting this property will automatically set the primarySlideDirection property to - CustomJointDirection. The entity defining the custom direction by be perpendicular to the normal direction. + Gets and sets the point as reference to scale. This can be a BRepVertex, a SketchPoint or a ConstructionPoint. - To set this property, you need to position the timeline marker to immediately before this joint. - This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) + 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() - @customPrimarySlideDirectionEntity.setter - def customPrimarySlideDirectionEntity(self, value: core.Base): + @point.setter + def point(self, value: core.Base): """ - This property can be set using various types of entities that can infer a - direction. For example, a linear edge, sketch line, planar face, and cylindrical face. - When reading this property, it is only valid in the case where the primarySlideDirection property returns - CustomJointDirection. Setting this property will automatically set the primarySlideDirection property to - CustomJointDirection. The entity defining the custom direction by be perpendicular to the normal direction. + Gets and sets the point as reference to scale. This can be a BRepVertex, a SketchPoint or a ConstructionPoint. - To set this property, you need to position the timeline marker to immediately before this joint. - This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) - """ - pass - @property - def secondarySlideDirectionVector(self) -> core.Vector3D: - """ - Returns the direction of the secondary slide direction. This property will return null in the case - where the PlanarJointMotion object was obtained from a JointInput object. - """ - return core.Vector3D() - @property - def rotationValue(self) -> float: - """ - Gets and sets the rotation value. This is in radians. Setting this value is - the equivalent of using the Drive Joints command. - """ - return float() - @rotationValue.setter - def rotationValue(self, value: float): - """ - Gets and sets the rotation value. This is in radians. Setting this value is - the equivalent of using the Drive Joints command. - """ - pass - @property - def rotationLimits(self) -> JointLimits: - """ - Returns a JointLimits object that defines the limits of rotation for this joint. - Use the functionality of the returned JointLimits object to get, set, and modify - the joint limits. - """ - return JointLimits() - @property - def primarySlideValue(self) -> float: - """ - Gets and sets the offset value in the primary direction. This is in centimeters. - Setting this value is the equivalent of using the Drive Joints command. - """ - return float() - @primarySlideValue.setter - def primarySlideValue(self, value: float): - """ - Gets and sets the offset value in the primary direction. This is in centimeters. - Setting this value is the equivalent of using the Drive Joints command. - """ - pass - @property - def primarySlideLimits(self) -> JointLimits: - """ - Returns a JointLimits object that defines the limits in the primary direction for this joint. - Use the functionality of the returned JointLimits object to get, set, and modify - the joint limits. - """ - return JointLimits() - @property - def secondarySlideValue(self) -> float: - """ - Gets and sets the offset value in the secondary direction. This is in centimeters. - Setting this value is the equivalent of using the Drive Joints command. - """ - return float() - @secondarySlideValue.setter - def secondarySlideValue(self, value: float): - """ - Gets and sets the offset value in the secondary direction. This is in centimeters. - Setting this value is the equivalent of using the Drive Joints command. - """ - pass - @property - def secondarySlideLimits(self) -> JointLimits: - """ - Returns a JointLimits object that defines the limits in the secondary direction for this joint. - Use the functionality of the returned JointLimits object to get, set, and modify - the joint limits. + 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 JointLimits() - -class PlaneAndOffsetsHolePositionDefinition(HolePositionDefinition): - """ - Provides positioning information for a hole that is positioned on a plane - and at a distance from one or two edges. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> PlaneAndOffsetsHolePositionDefinition: - return PlaneAndOffsetsHolePositionDefinition() @property - def planarEntity(self) -> core.Base: + def isUniform(self) -> bool: """ - Returns the plane that defines the orientation and start of the hole. + Gets if it's uniform scale. """ - return core.Base() + return bool() @property - def edgeOne(self) -> BRepEdge: + def scaleFactor(self) -> ModelParameter: """ - The first of 2 edges the hole position is measured from. OffsetOne provides access to - the model parameter controlling the offset distance. + Returns the parameter that controls the uniform scale factor. This will return null in the case + where isUniform is false or the feature is non-parametric. You can use the properties and + methods on the ModelParameter object to get and set the value. """ - return BRepEdge() + return ModelParameter() @property - def offsetOne(self) -> ModelParameter: + def xScale(self) -> ModelParameter: """ - Returns the model parameter controlling the distance from the center of the hole - to EdgeOne. + Returns the parameter that controls the X scale factor. This will return null in the case + where isUniform is false or the feature is non-parametric. You can use the properties and + methods on the ModelParameter object to get and set the value. """ return ModelParameter() @property - def edgeTwo(self) -> BRepEdge: + def yScale(self) -> ModelParameter: """ - The second of two edges the hole position is measured from. OffsetTwo provides access - to the model parameter controlling the offset distance. This property can return null - in the case where only one edge is used. + Returns the parameter that controls the Y scale factor. This will return null in the case + where isUniform is false or the feature is non-parametric. You can use the properties and + methods on the ModelParameter object to get and set the value. """ - return BRepEdge() + return ModelParameter() @property - def offsetTwo(self) -> ModelParameter: + def zScale(self) -> ModelParameter: """ - Returns the model parameter controlling the distance from the center of the hole - to EdgeTwo. This property returns null in the case where only one edge is used. + Returns the parameter that controls the Z scale factor. This will return null in the case + where isUniform is false or the feature is non-parametric. You can use the properties and + methods on the ModelParameter object to get and set the value. """ return ModelParameter() + @property + def nativeObject(self) -> ScaleFeature: + """ + 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 ScaleFeature() -class PointHolePositionDefinition(HolePositionDefinition): +class SectionAnalysis(Analysis): """ - Provides positioning information for a hole that is positioned relative to a 3D coordinate - point. + Represents any existing Section Analysis that exist in the design. """ def __init__(self): pass @staticmethod - def cast(arg) -> PointHolePositionDefinition: - return PointHolePositionDefinition() - @property - def planarEntity(self) -> core.Base: + def cast(arg) -> SectionAnalysis: + return SectionAnalysis() + def flip(self) -> bool: """ - Returns the plane that defines the orientation and start of the hole. + 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 core.Base() + return bool() @property - def point(self) -> core.Base: + def cutPlane(self) -> core.Base: """ - Returns the coordinates defining the position of the hole. + 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() - -class PolygonConstraint(GeometricConstraint): - """ - A polygon constraint in a sketch. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> PolygonConstraint: - return PolygonConstraint() - @property - def lines(self) -> list[SketchLine]: + @cutPlane.setter + def cutPlane(self, value: core.Base): """ - Returns the sketch lines that represent the polygon. + 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 [SketchLine()] - -class ProfilePlaneStartDefinition(ExtentDefinition): - """ - A definition object that is used to define a feature whose start plane is the sketch plane of the profile. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> ProfilePlaneStartDefinition: - return ProfilePlaneStartDefinition() - @staticmethod - def create() -> ProfilePlaneStartDefinition: + @property + def initialPosition(self) -> core.Matrix3D: """ - Statically creates a new ProfilePlaneStartDefinition object. This is used as input when creating a new - feature and defining the starting condition. - Returns the newly created ProfilePlaneStartDefinition object or null in the case of a failure. + 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 ProfilePlaneStartDefinition() + return core.Matrix3D() @property - def profilePlane(self) -> core.Plane: + def transform(self) -> core.Matrix3D: """ - Returns the geometric definition of the profile plane. + 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.Plane() - -class RectangularPatternConstraint(GeometricConstraint): - """ - A rectangular pattern constraint in a sketch. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> RectangularPatternConstraint: - return RectangularPatternConstraint() - -class RectangularPatternFeature(Feature): - """ - Object that represents an existing rectangular pattern feature in a design. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> RectangularPatternFeature: - return RectangularPatternFeature() - def createForAssemblyContext(self, occurrence: Occurrence) -> RectangularPatternFeature: + return core.Matrix3D() + @transform.setter + def transform(self, value: core.Matrix3D): """ - 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. + 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 RectangularPatternFeature() + pass @property - def inputEntities(self) -> core.ObjectCollection: + def sectionColor(self) -> core.Color: """ - Gets and sets the input entities. The collection can contain faces, features, bodies or occurrences. - All of the entities must be of a single type. For example, it can't contain features and occurrences - but only features or occurrences. - - 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) + 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.ObjectCollection() - @inputEntities.setter - def inputEntities(self, value: core.ObjectCollection): + return core.Color() + @sectionColor.setter + def sectionColor(self, value: core.Color): """ - Gets and sets the input entities. The collection can contain faces, features, bodies or occurrences. - All of the entities must be of a single type. For example, it can't contain features and occurrences - but only features or occurrences. - - 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) + 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 directionOneEntity(self) -> core.Base: + def isHatchShown(self) -> bool: """ - Gets and sets the first direction entity. - This can be a linear edge, construction axis, sketch line or rectangular pattern feature. - If a rectangular pattern feature is set, the directionOneEntity and directionTwoEntity properties return the same rectangular pattern feature. - - 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) + A property that gets and sets if a hatch pattern should be shown on the section. """ - return core.Base() - @directionOneEntity.setter - def directionOneEntity(self, value: core.Base): + return bool() + @isHatchShown.setter + def isHatchShown(self, value: bool): """ - Gets and sets the first direction entity. - This can be a linear edge, construction axis, sketch line or rectangular pattern feature. - If a rectangular pattern feature is set, the directionOneEntity and directionTwoEntity properties return the same rectangular pattern feature. - - 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) + A property that gets and sets if a hatch pattern should be shown on the section. """ pass - @property - def directionTwoEntity(self) -> core.Base: + +class ShellFeature(Feature): + """ + Object that represents an existing shell feature in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ShellFeature: + return ShellFeature() + def setInputEntities(self, inputEntities: core.ObjectCollection, isTangentChain: bool = True) -> bool: """ - Gets and sets the second direction entity. - This can be a linear edge, construction axis, sketch line or rectangular pattern feature. - If a rectangular pattern feature is set, the directionOneEntity and directionTwoEntity properties return the same rectangular pattern feature. - This can be null when not entity has been specified to control the second direction. In this case Fusion 360 will compute a default direction which is - 90 degrees to the direction one. + 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. - To set this property, you need to position the timeline marker to immediately before this 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) + inputEntities : The collection contains the faces to remove and the bodies to perform shell. + Fails if any faces are input, and the owning bodies of the faces are also input. + isTangentChain : A boolean value for setting whether or not faces that are tangentially connected to + the input faces (if any) will also be included. It defaults to true. + Returns true if successful """ - return core.Base() - @directionTwoEntity.setter - def directionTwoEntity(self, value: core.Base): + return bool() + def setThicknesses(self, insideThickness: core.ValueInput, outsideThickness: core.ValueInput) -> bool: """ - Gets and sets the second direction entity. - This can be a linear edge, construction axis, sketch line or rectangular pattern feature. - If a rectangular pattern feature is set, the directionOneEntity and directionTwoEntity properties return the same rectangular pattern feature. - This can be null when not entity has been specified to control the second direction. In this case Fusion 360 will compute a default direction which is - 90 degrees to the direction one. + Method that sets the inside and outside thicknesses of the shell. - To set this property, you need to position the timeline marker to immediately before this 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) + insideThickness : ValueInput object that defines the inside thickness. If set to null, the inside thickness is removed. + outsideThickness : ValueInput object that defines the outside thickness. If set to null, the outside thickness is removed. + Returns true if successful """ - pass - @property - def directionOne(self) -> core.Vector3D: + return bool() + def createForAssemblyContext(self, occurrence: Occurrence) -> ShellFeature: """ - Returns a Vector3D indicating the positive direction of direction one. + 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 core.Vector3D() + return ShellFeature() @property - def directionTwo(self) -> core.Vector3D: + def inputEntities(self) -> core.ObjectCollection: """ - Returns a Vector3D indicating the positive direction of direction two. + Gets the input faces/bodies. """ - return core.Vector3D() + return core.ObjectCollection() @property - def quantityOne(self) -> ModelParameter: + def isTangentChain(self) -> bool: """ - Gets the number of instances in the first direction. - Edit the value through ModelParameter. - Returns nothing in the case where the feature is non-parametric. + Gets if any faces that are tangentially connected to any of + the input faces will also be included in setting InputEntities. """ - return ModelParameter() + return bool() @property - def quantityTwo(self) -> ModelParameter: + def insideThickness(self) -> ModelParameter: """ - Gets the number of instances in the second direction. - Edit the value through ModelParameter. - Returns nothing in the case where the feature is non-parametric. + Gets the inside thickness. + Edit the thickness through ModelParameter. + This property returns nothing in the case where the feature is non-parametric. """ return ModelParameter() @property - def distanceOne(self) -> ModelParameter: + def outsideThickness(self) -> ModelParameter: """ - Gets the distance in the first direction. - Edit the value through ModelParameter. - Returns nothing in the case where the feature is non-parametric. + Gets the outside thickness. + Edit the thickness through ModelParameter. + This property returns nothing in the case where the feature is non-parametric. """ return ModelParameter() @property - def distanceTwo(self) -> ModelParameter: + def nativeObject(self) -> ShellFeature: """ - Gets the distance in the second direction. - Edit the value through ModelParameter. - Returns nothing in the case where the feature is non-parametric. + 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 ModelParameter() + return ShellFeature() @property - def isSymmetricInDirectionOne(self) -> bool: + def shellType(self) -> ShellTypes: """ - Gets and sets if the pattern in direction one is in one direction or symmetric. + The shell type used when creating a shell. + The default value is SharpOffsetShellType. 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() - @isSymmetricInDirectionOne.setter - def isSymmetricInDirectionOne(self, value: bool): + return ShellTypes() + @shellType.setter + def shellType(self, value: ShellTypes): """ - Gets and sets if the pattern in direction one is in one direction or symmetric. + The shell type used when creating a shell. + The default value is SharpOffsetShellType. 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 SilhouetteSplitFeature(Feature): + """ + Object that represents an existing silhouette split feature in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SilhouetteSplitFeature: + return SilhouetteSplitFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> SilhouetteSplitFeature: + """ + 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 SilhouetteSplitFeature() @property - def isSymmetricInDirectionTwo(self) -> bool: + def viewDirection(self) -> core.Base: """ - Gets and sets if the pattern in direction two is in one direction or symmetric. + Gets and sets the entity that defines the silhouette view direction, which can be a + construction axis, linear BRepEdge, planar BRepFace or a construction plane. - To set this property, you need to position the timeline marker to immediately before this feature. + 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() - @isSymmetricInDirectionTwo.setter - def isSymmetricInDirectionTwo(self, value: bool): + return core.Base() + @viewDirection.setter + def viewDirection(self, value: core.Base): """ - Gets and sets if the pattern in direction two is in one direction or symmetric. + Gets and sets the entity that defines the silhouette view direction, which can be a + construction axis, linear BRepEdge, planar BRepFace or a construction plane. - To set this property, you need to position the timeline marker to immediately before this feature. + 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 patternDistanceType(self) -> PatternDistanceType: + def targetBody(self) -> BRepBody: """ - Gets and sets how the distance between elements is computed. Is initialized to ExtentPatternDistanceType when a new - RectangularPatternFeatureInput has been created. + Gets and sets the solid body to split. - To set this property, you need to position the timeline marker to immediately before this feature. + 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 PatternDistanceType() - @patternDistanceType.setter - def patternDistanceType(self, value: PatternDistanceType): + return BRepBody() + @targetBody.setter + def targetBody(self, value: BRepBody): """ - Gets and sets how the distance between elements is computed. Is initialized to ExtentPatternDistanceType when a new - RectangularPatternFeatureInput has been created. + Gets and sets the solid body to split. - To set this property, you need to position the timeline marker to immediately before this feature. + 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 suppressedElementsIds(self) -> list[int]: + def operation(self) -> SilhouetteSplitOperations: """ - Gets and sets the ids of the patterns to suppress. - - 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) + Gets the type of silhouette split operation. """ - return [int()] - @suppressedElementsIds.setter - def suppressedElementsIds(self, value: list[int]): + return SilhouetteSplitOperations() + @property + def nativeObject(self) -> SilhouetteSplitFeature: """ - Gets and sets the ids of the patterns to suppress. - - 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) + 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 SilhouetteSplitFeature() + +class SketchAngularDimension(SketchDimension): + """ + An angular dimension in a sketch. + """ + def __init__(self): pass + @staticmethod + def cast(arg) -> SketchAngularDimension: + return SketchAngularDimension() + def createForAssemblyContext(self, occurrence: Occurrence) -> SketchAngularDimension: + """ + 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 SketchAngularDimension() @property - def patternElements(self) -> PatternElements: + def lineOne(self) -> SketchLine: """ - Gets the PatternElements collection that contains the elements created by this pattern. + The first line being constrained. """ - return PatternElements() + return SketchLine() @property - def resultFeatures(self) -> core.ObjectCollection: + def lineTwo(self) -> SketchLine: """ - Get the features that were created for this pattern. - Returns null in the case where the feature is parametric. + The second line being constrained. """ - return core.ObjectCollection() + return SketchLine() @property - def nativeObject(self) -> RectangularPatternFeature: + def nativeObject(self) -> SketchAngularDimension: """ 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 RectangularPatternFeature() + return SketchAngularDimension() + +class SketchConcentricCircleDimension(SketchDimension): + """ + A concentric circle dimension in a sketch. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SketchConcentricCircleDimension: + return SketchConcentricCircleDimension() + def createForAssemblyContext(self, occurrence: Occurrence) -> SketchConcentricCircleDimension: + """ + 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 SketchConcentricCircleDimension() @property - def patternEntityType(self) -> PatternEntityTypes: + def circleOne(self) -> SketchCurve: """ - Returns the type of entities the pattern consists of. This can be used to help - determine the type of results that will be found in the pattern elements. + Returns the first concentric circle or arc. """ - return PatternEntityTypes() + return SketchCurve() @property - def patternComputeOption(self) -> PatternComputeOptions: + def circleTwo(self) -> SketchCurve: """ - Gets and sets the compute option for this pattern feature. - This property only applies when patterning features and is ignored in the direct modeling environment. - - 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) + Returns the second concentric circle or arc. """ - return PatternComputeOptions() - @patternComputeOption.setter - def patternComputeOption(self, value: PatternComputeOptions): + return SketchCurve() + @property + def nativeObject(self) -> SketchConcentricCircleDimension: """ - Gets and sets the compute option for this pattern feature. - This property only applies when patterning features and is ignored in the direct modeling environment. - - 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) + 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 SketchConcentricCircleDimension() + +class SketchCurve(SketchEntity): + """ + A single sketch curve. This is the base class for the specific curve types. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SketchCurve: + return SketchCurve() + 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 + createConstraints : Constraints are created by default. Specify false to create no constraints. + Returns the resulting 2 curves; the original curve + the newly created curve + When split spline the original is deleted and two new curves returned. + Empty collection returned if curve is closed. + """ + return 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) + The segment of the curve closest to the segmentPoint gets removed + createConstraints : Constraints are created by default. Specify false to not create constraints. + When trimming the start or end side of a line, unclosed circular or elliptical arc, the original entity is modified and returned + When trimming the middle of a line, unclosed circular or elliptical arc the original entity is deleted and two new entities are returned + When trimming the start or end of any type of closed curve, the original is deleted and a new curve is returned + Any trimming of a spline (open or closed) deletes the original and new spline/s are returned + 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 = 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. + segmentPoint : A point that specifies the segment of the curve that is to be split from the rest of the curve. The nearest + intersection(s) to this point define the break location(s). + createConstraints : Optional argument that specifies if constraints should be created between the new curve segments. A value of + true indicates constraints will be created. + All of the curves resulting from the break are returned in an ObjectCollection. In the case where no intersections + 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 = 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) + The end of the curve closest to the endPoint gets extended + createConstraints : Constraints are created by default. Specify false to not create constraints. + Returns the modified original curve if the start or end of the curve is extended + If the extend joins a curve to another, the two original curves are deleted and a new curve is returned + If an arc is extended so as to become a circle, the original arc is deleted and a new circle is returned + """ + return core.ObjectCollection() + def intersections(self, sketchCurves: core.ObjectCollection) -> tuple[bool, core.ObjectCollection, core.ObjectCollection]: + """ + Get the curves that intersect this curve along with the intersection points (Point3D) + sketchCurves : A collection of curves to attempt to find intersections with. + Set the value of this parameter to null to use all curves in the sketch for the calculation. + intersectingCurves : A collection of the actual intersecting curves + intersectionPoints : A collection of intersection points (Point3D) + Item numbers in this collection correspond to the item numbers in the intersectingCurves collection. + Returns true if the method was successful. It can be successful regardless of whether intersections were found or not. + """ + return (bool(), core.ObjectCollection(), core.ObjectCollection()) + @property + def length(self) -> float: + """ + Returns the length of the curve in centimeters. + """ + return float() + @property + def isConstruction(self) -> bool: + """ + Gets and sets whether this curve is construction geometry. + """ + return bool() + @isConstruction.setter + def isConstruction(self, value: bool): + """ + Gets and sets whether this curve is construction geometry. """ pass -class RefoldFeature(Feature): +class SketchDiameterDimension(SketchDimension): """ - Object that represents an existing refold feature in a design. + An diameter dimension in a sketch. """ def __init__(self): pass @staticmethod - def cast(arg) -> RefoldFeature: - return RefoldFeature() + def cast(arg) -> SketchDiameterDimension: + return SketchDiameterDimension() + def createForAssemblyContext(self, occurrence: Occurrence) -> SketchDiameterDimension: + """ + 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 SketchDiameterDimension() + @property + def entity(self) -> SketchCurve: + """ + Returns the arc or circle being constrained. + """ + return SketchCurve() + @property + def nativeObject(self) -> SketchDiameterDimension: + """ + 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 SketchDiameterDimension() -class RemoveFeature(Feature): +class SketchDistanceBetweenLineAndPlanarSurfaceDimension(SketchDimension): """ - Object that represents an existing Remove feature in a design. + A linear dimension in a sketch between a sketch line and a planar surface. """ def __init__(self): pass @staticmethod - def cast(arg) -> RemoveFeature: - return RemoveFeature() - def createForAssemblyContext(self, occurrence: Occurrence) -> RemoveFeature: + 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 is not the NativeObject. + Returns the proxy object or null if this isn't the NativeObject. """ - return RemoveFeature() + return SketchDistanceBetweenLineAndPlanarSurfaceDimension() @property - def itemToRemove(self) -> core.Base: + def line(self) -> SketchLine: """ - Gets and sets the body or component occurrence to remove. - - 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) + 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) -> RemoveFeature: + 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 RemoveFeature() + return SketchDistanceBetweenLineAndPlanarSurfaceDimension() -class ReplaceFaceFeature(Feature): +class SketchDistanceBetweenPointAndSurfaceDimension(SketchDimension): """ - Object that represents an existing replace face feature in a design. + A linear dimension in a sketch between a sketch point and a surface. """ def __init__(self): pass @staticmethod - def cast(arg) -> ReplaceFaceFeature: - return ReplaceFaceFeature() - def setInputEntities(self, sourceFaces: core.ObjectCollection, isTangentChain: bool) -> bool: - """ - Method that sets faces to replace. - - 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) - sourceFaces : The collection can contain the faces from a solid and/or from features. All the faces must be on the same body. - isTangentChain : A boolean value for setting whether or not faces that are tangentially connected to - the input faces (if any) will also be included. A value of true indicates that tangent - faces will be included. - Returns true if successful. - """ - return bool() - def createForAssemblyContext(self, occurrence: Occurrence) -> ReplaceFaceFeature: + 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 @@ -28362,252 +50017,228 @@ def createForAssemblyContext(self, occurrence: Occurrence) -> ReplaceFaceFeature 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 ReplaceFaceFeature() + return SketchDistanceBetweenPointAndSurfaceDimension() @property - def targetFaces(self) -> core.Base: + def point(self) -> SketchPoint: """ - Gets and sets the entities that define the target faces. The new faces must completely intersect the part. - The collection can contain the surface faces, surface bodies and construction planes. - - 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) + 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, spherical and conical faces are supported. """ return core.Base() - @targetFaces.setter - def targetFaces(self, value: core.Base): + @property + def nativeObject(self) -> SketchDistanceBetweenPointAndSurfaceDimension: """ - Gets and sets the entities that define the target faces. The new faces must completely intersect the part. - The collection can contain the surface faces, surface bodies and construction planes. - - 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) + 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. + """ + def __init__(self): pass + @staticmethod + def cast(arg) -> SketchEllipseMajorRadiusDimension: + return SketchEllipseMajorRadiusDimension() + def createForAssemblyContext(self, occurrence: Occurrence) -> SketchEllipseMajorRadiusDimension: + """ + 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 SketchEllipseMajorRadiusDimension() @property - def isTangentChain(self) -> bool: + def ellipse(self) -> SketchCurve: """ - Gets if any faces that are tangentially connected to any of - the input faces will also be included in setting InputEntities. + Returns the ellipse or elliptical arc being constrained. """ - return bool() + return SketchCurve() @property - def nativeObject(self) -> ReplaceFaceFeature: + def nativeObject(self) -> SketchEllipseMajorRadiusDimension: """ 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 ReplaceFaceFeature() + return SketchEllipseMajorRadiusDimension() -class ReverseNormalFeature(Feature): +class SketchEllipseMinorRadiusDimension(SketchDimension): """ - Object that represents an existing Reverse Normal feature in a design. + An ellipse minor radius dimension in a sketch. """ def __init__(self): pass @staticmethod - def cast(arg) -> ReverseNormalFeature: - return ReverseNormalFeature() - def createForAssemblyContext(self, occurrence: Occurrence) -> ReverseNormalFeature: + def cast(arg) -> SketchEllipseMinorRadiusDimension: + return SketchEllipseMinorRadiusDimension() + def createForAssemblyContext(self, occurrence: Occurrence) -> SketchEllipseMinorRadiusDimension: """ 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. + Returns the proxy object or null if this isn't the NativeObject. """ - return ReverseNormalFeature() + return SketchEllipseMinorRadiusDimension() @property - def surfaces(self) -> core.ObjectCollection: - """ - Gets and sets the surface bodies (open BRepBodies) whose faces normals are to be reversed. - All faces of the input surface bodies get reversed. - - 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() - @surfaces.setter - def surfaces(self, value: core.ObjectCollection): + def ellipse(self) -> SketchCurve: """ - Gets and sets the surface bodies (open BRepBodies) whose faces normals are to be reversed. - All faces of the input surface bodies get reversed. - - 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 the ellipse or elliptical arc being constrained. """ - pass + return SketchCurve() @property - def nativeObject(self) -> ReverseNormalFeature: + def nativeObject(self) -> SketchEllipseMinorRadiusDimension: """ 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 ReverseNormalFeature() + return SketchEllipseMinorRadiusDimension() -class RevoluteJointMotion(JointMotion): +class SketchLinearDiameterDimension(SketchDimension): """ - Represents the set of information specific to a revolute joint. + A linear diameter dimension in a sketch. """ def __init__(self): pass @staticmethod - def cast(arg) -> RevoluteJointMotion: - return RevoluteJointMotion() - @property - def rotationAxis(self) -> JointDirections: + def cast(arg) -> SketchLinearDiameterDimension: + return SketchLinearDiameterDimension() + def createForAssemblyContext(self, occurrence: Occurrence) -> SketchLinearDiameterDimension: """ - Gets and sets the direction of the axis of rotation. This can be set to - XAxisJointDirection, YAxisJointDirection, or ZAxisJointDirection. It can - return those three directions and CustomJointDirection. If this returns - CustomJointDirection then the customRotationAxisEntity will return an entity - that defines the axis. If there is a custom rotation axis defined and this - property is set to one of the three standard axes, the custom rotation will - be removed and customRotationAxisEntity will return null. + 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 JointDirections() - @rotationAxis.setter - def rotationAxis(self, value: JointDirections): + return SketchLinearDiameterDimension() + @property + def line(self) -> SketchLine: """ - Gets and sets the direction of the axis of rotation. This can be set to - XAxisJointDirection, YAxisJointDirection, or ZAxisJointDirection. It can - return those three directions and CustomJointDirection. If this returns - CustomJointDirection then the customRotationAxisEntity will return an entity - that defines the axis. If there is a custom rotation axis defined and this - property is set to one of the three standard axes, the custom rotation will - be removed and customRotationAxisEntity will return null. + The first line being constrained. """ - pass + return SketchLine() @property - def rotationAxisVector(self) -> core.Vector3D: + def entityTwo(self) -> SketchEntity: """ - Returns the direction of the rotation axis. This property will return null in the case - where the RevolutionJointMotion object was obtained from a JointInput object. + The second entity being constrained. (a parallel SketchLine or a SketchPoint) """ - return core.Vector3D() + return SketchEntity() @property - def customRotationAxisEntity(self) -> core.Base: + def nativeObject(self) -> SketchLinearDiameterDimension: """ - This property can be set using various types of entities that can infer an - axis. For example, a linear edge, sketch line, planar face, and cylindrical face. - This property is only valid in the case where the rotationAxis property returns - CustomJointDirection. Setting this property will automatically set - the rotationAxis property to CustomJointDirection. + 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 core.Base() - @customRotationAxisEntity.setter - def customRotationAxisEntity(self, value: core.Base): + return SketchLinearDiameterDimension() + +class SketchLinearDimension(SketchDimension): + """ + A linear dimension in a sketch. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SketchLinearDimension: + return SketchLinearDimension() + def createForAssemblyContext(self, occurrence: Occurrence) -> SketchLinearDimension: """ - This property can be set using various types of entities that can infer an - axis. For example, a linear edge, sketch line, planar face, and cylindrical face. - This property is only valid in the case where the rotationAxis property returns - CustomJointDirection. Setting this property will automatically set - the rotationAxis property to CustomJointDirection. + 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. """ - pass + return SketchLinearDimension() @property - def rotationValue(self) -> float: + def entityOne(self) -> SketchEntity: """ - Gets and sets the rotation value. This is in radians. Setting this value is - the equivalent of using the Drive Joints command. + The first entity being constrained. """ - return float() - @rotationValue.setter - def rotationValue(self, value: float): + return SketchEntity() + @property + def entityTwo(self) -> SketchEntity: """ - Gets and sets the rotation value. This is in radians. Setting this value is - the equivalent of using the Drive Joints command. + The second entity being constrained. """ - pass + return SketchEntity() @property - def rotationLimits(self) -> JointLimits: + def orientation(self) -> DimensionOrientations: """ - Returns a JointLimits object that defines the rotation limits for this joint. - Use the functionality of the returned JointLimits object to get, set, and modify - the joint limits. + The orientation of this dimension. """ - return JointLimits() + return DimensionOrientations() + @property + def nativeObject(self) -> SketchLinearDimension: + """ + 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 SketchLinearDimension() -class RevolveFeature(Feature): +class SketchOffsetCurvesDimension(SketchDimension): """ - Object that represents an existing revolve feature in a design. + A SketchOffsetCurvesDimension object is created automatically whenever curves are offset. """ def __init__(self): pass @staticmethod - def cast(arg) -> RevolveFeature: - return RevolveFeature() - def setAngleExtent(self, isSymmetric: bool, angle: core.ValueInput) -> bool: - """ - Defines the extent of the revolution to be at a defined 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) - isSymmetric : Boolean that specifies if the extent is symmetric or not. - angle : ValueInput object that defines the angle. 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. - - If isSymmetric is false a positive or negative angle can be - used to control the direction. If isSymmetric is true, the angle is the extent in one - direction so the entire angle of the revolution will be twice the specified angle. - Use an angle of 360 deg or 2 pi radians to create a full revolve. - Returns true if successful - """ - return bool() - def setTwoSideAngleExtent(self, angleOne: core.ValueInput, angleTwo: core.ValueInput) -> bool: + def cast(arg) -> SketchOffsetCurvesDimension: + return SketchOffsetCurvesDimension() + def createForAssemblyContext(self, occurrence: Occurrence) -> SketchOffsetCurvesDimension: """ - Changes the extent of the revolve to be defined as a two sided angle extent. - - 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) - angleOne : ValueInput object that defines the first angle. 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. - angleTwo : ValueInput object that defines the second angle. 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. - Returns true if successful + 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 bool() - def setOneSideToExtent(self, toEntity: core.Base, directionHint: core.Vector3D) -> bool: + return SketchOffsetCurvesDimension() + @property + def offsetConstraint(self) -> OffsetConstraint: """ - Changes the extent of the revolve to be from the sketch plane to the specified "to" face. - - 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) - 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 a revolve it can be a BRepBody, BRepFace, - BRepVertex, ConstructionPlane, or ConstructionPoint. - directionHint : Specifies the direction of the revolve. - Returns true if successful. + Returns the OffsetConstraint object that defines the curve offset. From the constraint + you can get the original curves, the offset curves, and the dimension controlling the offset distance. """ - return bool() - def setTwoSidesToExtent(self, toEntityOne: core.Base, toEntityTwo: core.Base) -> bool: + return OffsetConstraint() + @property + def nativeObject(self) -> SketchOffsetCurvesDimension: """ - Changes the extent of the revolve to be defined as a two sided to extent. - - 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) - 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 a revolve 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 a revolve it can be a BRepBody, BRepFace, - BRepVertex, ConstructionPlane, or ConstructionPoint. - Returns true if successful + 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 bool() - def createForAssemblyContext(self, occurrence: Occurrence) -> RevolveFeature: + return SketchOffsetCurvesDimension() + +class SketchOffsetDimension(SketchDimension): + """ + An offset dimension in a sketch. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SketchOffsetDimension: + return SketchOffsetDimension() + def createForAssemblyContext(self, occurrence: Occurrence) -> SketchOffsetDimension: """ Creates or returns a proxy for the native object - i.e. a new object that represents this object but adds the assembly context @@ -28615,554 +50246,634 @@ def createForAssemblyContext(self, occurrence: Occurrence) -> RevolveFeature: 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 RevolveFeature() + return SketchOffsetDimension() @property - def profile(self) -> core.Base: - """ - Gets and sets the profiles or planar faces used to define the shape of the revolve. - This property can return or be set with a single Profile, a single planar face, or - an ObjectCollection consisting of multiple profiles and planar faces. When an - ObjectCollection is used all of the profiles and faces must be co-planar. - - When setting this property of a surface (non-solid) extrusion, you can use the - createOpenProfile and createBRepEdgeProfile methods of the Component object to create - an open profile. - - 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 null in the case where the feature is non-parametric. - """ - return core.Base() - @profile.setter - def profile(self, value: core.Base): + def line(self) -> SketchLine: """ - Gets and sets the profiles or planar faces used to define the shape of the revolve. - This property can return or be set with a single Profile, a single planar face, or - an ObjectCollection consisting of multiple profiles and planar faces. When an - ObjectCollection is used all of the profiles and faces must be co-planar. - - When setting this property of a surface (non-solid) extrusion, you can use the - createOpenProfile and createBRepEdgeProfile methods of the Component object to create - an open profile. - - 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 null in the case where the feature is non-parametric. + The first line being constrained. """ - pass + return SketchLine() @property - def axis(self) -> core.Base: + def entityTwo(self) -> SketchEntity: """ - Gets and sets the entity used to define the axis of revolution. - The axis can be a sketch line, construction axis, or linear edge. If it is not in - the same plane as the profile, it is projected onto the profile plane. - - 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) + The second entity being constrained. (a parallel SketchLine or a SketchPoint) """ - return core.Base() - @axis.setter - def axis(self, value: core.Base): + return SketchEntity() + @property + def nativeObject(self) -> SketchOffsetDimension: """ - Gets and sets the entity used to define the axis of revolution. - The axis can be a sketch line, construction axis, or linear edge. If it is not in - the same plane as the profile, it is projected onto the profile plane. - - 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) + 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 SketchOffsetDimension() + +class SketchPoint(SketchEntity): + """ + A point within a sketch. + """ + def __init__(self): pass - @property - def operation(self) -> FeatureOperations: + @staticmethod + def cast(arg) -> SketchPoint: + return SketchPoint() + def move(self, translation: core.Vector3D) -> bool: """ - Gets and sets the type of operation performed by the revolve. - - 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) + Moves the sketch geometry using the specified transform. + Move respects any constraints that would normally prohibit the move. + This will fail in the case where the IsReference property is true. + translation : The vector that defines the distance and direction to move. + Returns true if moving the sketch point was successful. """ - return FeatureOperations() - @operation.setter - def operation(self, value: FeatureOperations): + return bool() + def merge(self, point: SketchPoint) -> bool: """ - Gets and sets the type of operation performed by the revolve. + Merges the input sketch point into this sketch point. This effectively + deletes the other sketch point and changes all entities that referenced + that sketch point to reference this sketch point. - 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 extentDefinition(self) -> ExtentDefinition: + This is the equivalent of dragging a sketch point on top of another + sketch point in the user interface. + point : The point to merge with this point. + Returns true if the merge was successful. """ - Gets the definition object that is defining the extent of the revolve. Modifying the - definition object will cause the revolve to recompute. Various types of objects can - be returned depending on the type of extent currently defined for the revolve. - This property returns nothing in the case where the feature is non-parametric. + return bool() + def createForAssemblyContext(self, occurrence: Occurrence) -> SketchPoint: """ - return ExtentDefinition() - @property - def startFaces(self) -> BRepFaces: + 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. """ - Property that returns the set of faces that cap one end of the revolve and are coincident - with the sketch plane. In the case of a symmetric revolve these faces are the ones on the - positive normal side of the sketch plane. In the case where there aren't any start faces, - this property will return null. + return SketchPoint() + def detach(self, curve: SketchCurve) -> SketchPoint: + """ + This method disconnects the specified curve from the sketch point. The specified curve must + use this point as one of its endpoints, and at least one other sketch curve must also use + the point as its endpoint. Detaching the curve creates a new sketch point, which becomes + the curve's end point. All other curves using the original sketch point will remain unaffected. + curve : The sketch curve to detach from the sketch point. One of its end points must be the + sketch point. + If successful, the newly created sketch point that the curve was moved to is returned. + Null is returned in the case of failure. Typical failure cases are if the specified curve + is the only curve connected to the point or if the curve is not connected to the point. """ - return BRepFaces() + return SketchPoint() @property - def endFaces(self) -> BRepFaces: + def geometry(self) -> core.Point3D: """ - Property that returns the set of faces that cap the end of the revolve opposite the - start faces. In the case where there aren't any start faces, this property will return null. + Returns a Point3D object which provides the position of the sketch point. + The returned geometry is always in sketch space. """ - return BRepFaces() + return core.Point3D() @property - def sideFaces(self) -> BRepFaces: + def worldGeometry(self) -> core.Point3D: """ - Property that returns all of the faces created around the perimeter of the feature. + Returns a Point3D object which provides the position of the sketch point in world space. + The returned coordinate takes into account the assembly context and the position of the + sketch in it's parent component, which means the coordinate will be returned in the root + component space. """ - return BRepFaces() + return core.Point3D() @property - def nativeObject(self) -> RevolveFeature: + def nativeObject(self) -> SketchPoint: """ 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 RevolveFeature() - @property - def isSolid(self) -> bool: - """ - Indicates if this feature was initially created as a solid or a surface. - """ - return bool() + return SketchPoint() @property - def participantBodies(self) -> list[BRepBody]: + def connectedEntities(self) -> SketchEntityList: """ - 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) + Returns the set of sketch entities that are directly connected to this point. For + example any entities that use this point as their start point or end point will be returned + and any circle, arc or ellipse who have this point as a center point will be returned. This + does not include entities that are related to the point through a constraint. """ - return [BRepBody()] - @participantBodies.setter - def participantBodies(self, value: list[BRepBody]): + return SketchEntityList() + +class SketchPointHolePositionDefinition(HolePositionDefinition): + """ + Provides positioning information for a hole that is positioned by a sketch point. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SketchPointHolePositionDefinition: + return SketchPointHolePositionDefinition() + @property + def sketchPoint(self) -> SketchPoint: """ - 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) + Returns the sketch point that defines the center of the hole. """ - pass + return SketchPoint() -class RibFeature(Feature): +class SketchPointsBossPositionDefinition(BossPositionDefinition): """ - Object that represents an existing Rib feature in a design. + Provides positioning information for a boss feature that is positioned by a sketch point(s). """ def __init__(self): pass @staticmethod - def cast(arg) -> RibFeature: - return RibFeature() + 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 RigidJointMotion(JointMotion): +class SketchPointsHolePositionDefinition(HolePositionDefinition): """ - Represents the set of information specific to a rigid joint. A - rigid joint doesn't support any additional information beyond - getting the joint type which it derives from JointMotion. + Provides positioning information for a hole that is positioned by a sketch point. """ def __init__(self): pass @staticmethod - def cast(arg) -> RigidJointMotion: - return RigidJointMotion() + def cast(arg) -> SketchPointsHolePositionDefinition: + return SketchPointsHolePositionDefinition() + @property + def sketchPoints(self) -> core.ObjectCollection: + """ + Returns the sketch point that defines the center of the hole. + """ + return core.ObjectCollection() -class RuledSurfaceFeature(Feature): +class SketchRadialDimension(SketchDimension): """ - Object that represents an existing RuledSurface feature in a design. + An radial dimension in a sketch. """ def __init__(self): pass @staticmethod - def cast(arg) -> RuledSurfaceFeature: - return RuledSurfaceFeature() - def createForAssemblyContext(self, occurrence: Occurrence) -> RuledSurfaceFeature: + def cast(arg) -> SketchRadialDimension: + return SketchRadialDimension() + def createForAssemblyContext(self, occurrence: Occurrence) -> SketchRadialDimension: """ 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. + Returns the proxy object or null if this isn't the NativeObject. """ - return RuledSurfaceFeature() + return SketchRadialDimension() @property - def profile(self) -> core.Base: + def entity(self) -> SketchCurve: """ - Gets and sets the Profile object that defines the sketch geometry or edges that define the shape of - the ruled surface. The Component.createBRepEdgeProfile method is useful to create a profile defined from edges. - - In many cases the RuledSurface operation results in the profile being consumed so it is no longer available - after the feature is created. In this case, you need to reposition the timeline marker to just before this feature, - when the profile still exists. + The arc or circle being constrained. """ - return core.Base() - @profile.setter - def profile(self, value: core.Base): + return SketchCurve() + @property + def nativeObject(self) -> SketchRadialDimension: """ - Gets and sets the Profile object that defines the sketch geometry or edges that define the shape of - the ruled surface. The Component.createBRepEdgeProfile method is useful to create a profile defined from edges. - - In many cases the RuledSurface operation results in the profile being consumed so it is no longer available - after the feature is created. In this case, you need to reposition the timeline marker to just before this feature, - when the profile still exists. + 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 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 distance(self) -> ModelParameter: + def entityOne(self) -> SketchEntity: """ - Returns the parameter controlling the Ruled Surface distance. You can edit the distance - by editing the value of the parameter object. + The first entity being constrained. This can be a SketchCircle, SketchArc, + SketchLine, or SketchPoint. """ - return ModelParameter() + return SketchEntity() @property - def angle(self) -> ModelParameter: + def circleOrArc(self) -> SketchCurve: """ - Returns the parameter controlling the Ruled Surface angle. You can edit the angle - by editing the value of the parameter object. + The second entity being constrained which is always a SketchCircle or SketchArc. """ - return ModelParameter() + return SketchCurve() @property - def ruledSurfaceType(self) -> RuledSurfaceTypes: + def nativeObject(self) -> SketchTangentDistanceDimension: """ - Gets and sets the type of ruled surface. To set this to DirectionRuledSurfaceType, - use the direction property to set the direction entity, which will automatically set - this to DirectionRuledSurfaceType. + 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 RuledSurfaceTypes() - @ruledSurfaceType.setter - def ruledSurfaceType(self, value: RuledSurfaceTypes): + return SketchTangentDistanceDimension() + +class SketchText(SketchEntity): + """ + Text in a sketch. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SketchText: + return SketchText() + def explode(self) -> list[SketchCurve]: """ - Gets and sets the type of ruled surface. To set this to DirectionRuledSurfaceType, - use the direction property to set the direction entity, which will automatically set - this to DirectionRuledSurfaceType. + Explodes the SketchText into a set of curves. The original SketchText is deleted as a result of calling this. + Returns an array of the sketch curves that were created that represent the text. + """ + return [SketchCurve()] + def asCurves(self) -> list[core.Curve3D]: + """ + Returns the underlying curves that define the outline of the text. Calling this does not affect the + SketchText and does not create any new sketch geometry but returns the geometrical definition of the + sketch outline. + Returns an array of transient curves that represent the outline of the text. + """ + return [core.Curve3D()] + def redefineAsFitOnPath(self, path: core.Base, isAbovePath: bool) -> bool: + """ + Sets this SketchTextInput to define text that fits along a specified path. Fitting on a path will + space the characters so the text fits along the entire length of the path entity. + path : The entity that defines the path for the text. This can be a SketchCurve or BRepEdge object. + isAbovePath : Indicates if the text should be positioned above or below the path entity. + Returns true if the setting the definition was successful. + """ + return bool() + def redefineAsAlongPath(self, path: core.Base, isAbovePath: bool, horizontalAlignment: core.HorizontalAlignments, characterSpacing: float) -> bool: + """ + Sets this SketchTextInput to define text that follows along a specified path. + path : The entity that defines the path for the text. This can be a SketchCurve or BRepEdge object. + isAbovePath : Indicates if the text should be positioned above or below the path entity. + horizontalAlignment : Specifies the horizontal alignment of the text with respect to the path curve. + characterSpacing : The spacing between the characters. This is an additional spacing to apply that is defined + as a percentage of the default spacing. A spacing of 0 indicates no additional spacing. + A spacing of 50 indicates to use the default plus 50% of the default. + 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 fontName(self) -> str: + """ + Gets and sets the name of the font to use. + """ + return str() + @fontName.setter + def fontName(self, value: str): + """ + Gets and sets the name of the font to use. """ pass @property - def direction(self) -> core.Base: + def textStyle(self) -> TextStyles: """ - Gets and sets the entity that defines the direction when the ruled surface type is DirectionRuledSurfaceType. - The direction is specified by providing a linear or planar entity. For example, a linear edge, construction axis, - planar face, or construction plane can be used as input. - - If this property is set when the ruledSurfaceType is not DirectionRuledSurfaceType, the type will automatically be - changed to DirectionRuledSurfaceType. If you get this property when the direction is not DirectionRuledSurfaceType, - it will return null. + Gets and sets the text style to apply to the entire text. This is a bitwise enum so styles + can be combined to apply multiple styles. For example you can apply bold and underline. """ - return core.Base() - @direction.setter - def direction(self, value: core.Base): + return TextStyles() + @textStyle.setter + def textStyle(self, value: TextStyles): """ - Gets and sets the entity that defines the direction when the ruled surface type is DirectionRuledSurfaceType. - The direction is specified by providing a linear or planar entity. For example, a linear edge, construction axis, - planar face, or construction plane can be used as input. - - If this property is set when the ruledSurfaceType is not DirectionRuledSurfaceType, the type will automatically be - changed to DirectionRuledSurfaceType. If you get this property when the direction is not DirectionRuledSurfaceType, - it will return null. + Gets and sets the text style to apply to the entire text. This is a bitwise enum so styles + can be combined to apply multiple styles. For example you can apply bold and underline. """ pass @property - def alternateFace(self) -> bool: + def isHorizontalFlip(self) -> bool: """ - Gets and sets if the other face is used for creation of the Ruled Surface. - When creating a ruled surface using the edges of a solid or the interior edges - of a surface the angle of the ruled surface is measured with respect to the - face the selected edge is bounding. For a solid, or an interior edge on a surface, - the edge connects to two faces. This setting toggles which of the two faces will - be used for measuring the angle. + Gets and sets if the text is flipped horizontally. """ return bool() - @alternateFace.setter - def alternateFace(self, value: bool): + @isHorizontalFlip.setter + def isHorizontalFlip(self, value: bool): """ - Gets and sets if the other face is used for creation of the Ruled Surface. - When creating a ruled surface using the edges of a solid or the interior edges - of a surface the angle of the ruled surface is measured with respect to the - face the selected edge is bounding. For a solid, or an interior edge on a surface, - the edge connects to two faces. This setting toggles which of the two faces will - be used for measuring the angle. + Gets and sets if the text is flipped horizontally. """ pass @property - def nativeObject(self) -> RuledSurfaceFeature: + def isVerticalFlip(self) -> bool: + """ + Gets and sets if the text is flipped vertically. + """ + return bool() + @isVerticalFlip.setter + def isVerticalFlip(self, value: bool): + """ + Gets and sets if the text is flipped vertically. + """ + pass + @property + 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 RuledSurfaceFeature() + return SketchText() @property - def cornerType(self) -> RuledSurfaceCornerTypes: + def textParameter(self) -> ModelParameter: """ - Gets and sets the corner type for the ruled surface, indicating if the corners will be rounded or mitered. - The default value is rounded. + Returns the model parameter that was created when the sketch text was created that + controls the contents of the sketch text. To edit the text, you can use + the expression and textValue properties of the returned ModelParameter object. """ - return RuledSurfaceCornerTypes() - @cornerType.setter - def cornerType(self, value: RuledSurfaceCornerTypes): + return ModelParameter() + @property + def heightParameter(self) -> ModelParameter: """ - Gets and sets the corner type for the ruled surface, indicating if the corners will be rounded or mitered. - The default value is rounded. + Returns the model parameter that was created when the sketch text was created + that controls the height of the sketch text. To edit the height, you can use + the expression and value properties of the returned ModelParameter object. """ - pass - -class RuleFilletFeature(Feature): - """ - Object that represents an existing rule fillet feature in a design. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> RuleFilletFeature: - return RuleFilletFeature() - -class SATExportOptions(ExportOptions): - """ - Defines that a SAT export is to be done and specifies the various options. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> SATExportOptions: - return SATExportOptions() + return ModelParameter() -class ScaleFeature(Feature): +class SliderJointMotion(JointMotion): """ - Object that represents an existing scale feature in a design. + Represents the set of information specific to a slider joint. """ def __init__(self): pass @staticmethod - def cast(arg) -> ScaleFeature: - return ScaleFeature() - def setToUniform(self, scaleFactor: core.ValueInput) -> bool: + def cast(arg) -> SliderJointMotion: + return SliderJointMotion() + @property + def slideDirection(self) -> JointDirections: """ - Calling this method will change to a uniform scale. - The isUniform is set to true if successful. - - 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) - scaleFactor : A ValueInput object that defines the scale factor. - Returns true if successful. + Gets and sets the direction of the slide. This can be set to + XAxisJointDirection, YAxisJointDirection, or ZAxisJointDirection. It can + return those three directions and CustomJointDirection. If this returns + CustomJointDirection then the customSlideDirectionEntity will return an entity + that defines the direction. If there is a custom direction defined and this + property is set to one of the three standard axes, the custom direction will + be removed and customSlideDirectionEntity will return null. """ - return bool() - def setToNonUniform(self, xScale: core.ValueInput, yScale: core.ValueInput, zScale: core.ValueInput) -> bool: + return JointDirections() + @slideDirection.setter + def slideDirection(self, value: JointDirections): """ - Calling this method will change to a non-uniform scale. - Fails of the inputEntities collection contains sketches or components. - The isUniform is set to false if successful. - - 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) - xScale : A ValueInput object that defines the scale in the X direction. - yScale : A ValueInput object that defines the scale in the Y direction. - zScale : A ValueInput object that defines the scale in the Z direction. - Returns true if successful. + Gets and sets the direction of the slide. This can be set to + XAxisJointDirection, YAxisJointDirection, or ZAxisJointDirection. It can + return those three directions and CustomJointDirection. If this returns + CustomJointDirection then the customSlideDirectionEntity will return an entity + that defines the direction. If there is a custom direction defined and this + property is set to one of the three standard axes, the custom direction will + be removed and customSlideDirectionEntity will return null. """ - return bool() - def createForAssemblyContext(self, occurrence: Occurrence) -> ScaleFeature: + pass + @property + def slideDirectionVector(self) -> core.Vector3D: """ - 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. + Returns the direction of the slide. This property will return null in the case + where the SliderJointMotion object was obtained from a JointInput object. """ - return ScaleFeature() + return core.Vector3D() @property - def inputEntities(self) -> core.ObjectCollection: + def customSlideDirectionEntity(self) -> core.Base: """ - Gets and sets the input entities. - This collection can contain sketches, BRep bodies and T-Spline bodies in parametric modeling. - It can contain sketches, BRep bodies, T-Spline bodies, mesh bodies, root component and occurrences in non-parametric modeling. - If the scaling is non-uniform (the isUniform property is false), this collection cannot contain sketches or components. + This property can be set using various types of entities that can infer a + direction. For example, a linear edge, sketch line, planar face, and cylindrical face. + This property is only valid in the case where the slideDirection property returns + CustomJointDirection. Setting this property will automatically set + the slideDirection property to CustomJointDirection. - 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) + To set this property, you need to position the timeline marker to immediately before this joint. + This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) """ - return core.ObjectCollection() - @inputEntities.setter - def inputEntities(self, value: core.ObjectCollection): + return core.Base() + @customSlideDirectionEntity.setter + def customSlideDirectionEntity(self, value: core.Base): """ - Gets and sets the input entities. - This collection can contain sketches, BRep bodies and T-Spline bodies in parametric modeling. - It can contain sketches, BRep bodies, T-Spline bodies, mesh bodies, root component and occurrences in non-parametric modeling. - If the scaling is non-uniform (the isUniform property is false), this collection cannot contain sketches or components. + This property can be set using various types of entities that can infer a + direction. For example, a linear edge, sketch line, planar face, and cylindrical face. + This property is only valid in the case where the slideDirection property returns + CustomJointDirection. Setting this property will automatically set + the slideDirection property to CustomJointDirection. - 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) + To set this property, you need to position the timeline marker to immediately before this joint. + This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) """ pass @property - def point(self) -> core.Base: + def slideValue(self) -> float: """ - Gets and sets the point as reference to scale. This can be a BRepVertex, a SketchPoint or a ConstructionPoint. - - 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) + Gets and sets the slide value. This is in centimeters. Setting this value is + the equivalent of using the Drive Joints command. """ - return core.Base() - @point.setter - def point(self, value: core.Base): + return float() + @slideValue.setter + def slideValue(self, value: float): """ - Gets and sets the point as reference to scale. This can be a BRepVertex, a SketchPoint or a ConstructionPoint. - - 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) + Gets and sets the slide value. This is in centimeters. Setting this value is + the equivalent of using the Drive Joints command. """ pass @property - def isUniform(self) -> bool: - """ - Gets if it's uniform scale. - """ - return bool() - @property - def scaleFactor(self) -> ModelParameter: + def slideLimits(self) -> JointLimits: """ - Returns the parameter that controls the uniform scale factor. This will return null in the case - where isUniform is false or the feature is non-parametric. You can use the properties and - methods on the ModelParameter object to get and set the value. + Returns a JointLimits object that defines the slide limits for this joint. + Use the functionality of the returned JointLimits object to get, set, and modify + the joint limits. """ - return ModelParameter() - @property - def xScale(self) -> ModelParameter: + return JointLimits() + +class SmoothConstraint(GeometricConstraint): + """ + A smooth constraint in a sketch. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SmoothConstraint: + return SmoothConstraint() + def createForAssemblyContext(self, occurrence: Occurrence) -> SmoothConstraint: """ - Returns the parameter that controls the X scale factor. This will return null in the case - where isUniform is false or the feature is non-parametric. You can use the properties and - methods on the ModelParameter object to get and set the value. + 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 ModelParameter() + return SmoothConstraint() @property - def yScale(self) -> ModelParameter: + def curveOne(self) -> SketchCurve: """ - Returns the parameter that controls the Y scale factor. This will return null in the case - where isUniform is false or the feature is non-parametric. You can use the properties and - methods on the ModelParameter object to get and set the value. + Returns the first curve. """ - return ModelParameter() + return SketchCurve() @property - def zScale(self) -> ModelParameter: + def curveTwo(self) -> SketchCurve: """ - Returns the parameter that controls the Z scale factor. This will return null in the case - where isUniform is false or the feature is non-parametric. You can use the properties and - methods on the ModelParameter object to get and set the value. + Returns the second curve. """ - return ModelParameter() + return SketchCurve() @property - def nativeObject(self) -> ScaleFeature: + def nativeObject(self) -> SmoothConstraint: """ 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 ScaleFeature() + return SmoothConstraint() -class ShellFeature(Feature): +class SMTExportOptions(ExportOptions): """ - Object that represents an existing shell feature in a design. + Defines that an SMT export is to be done and specifies the various options. """ def __init__(self): pass @staticmethod - def cast(arg) -> ShellFeature: - return ShellFeature() - def setInputEntities(self, inputEntities: core.ObjectCollection, isTangentChain: bool) -> bool: + def cast(arg) -> SMTExportOptions: + return SMTExportOptions() + @property + def version(self) -> int: """ - 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. + Gets and set the version of the SMT format to write to. The default + is to use the current version of the Autodesk Shape Manager kernel + that Fusion is using. Specifying an invalid version will result + in an assert. - 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) - inputEntities : The collection contains the faces to remove and the bodies to perform shell. - Fails if any faces are input, and the owning bodies of the faces are also input. - isTangentChain : A boolean value for setting whether or not faces that are tangentially connected to - the input faces (if any) will also be included. It defaults to true. - Returns true if successful + Valid versions are 218 up to the current version, which is what this + property returns by default when a new SMTExportOptions object is + created. """ - return bool() - def setThicknesses(self, insideThickness: core.ValueInput, outsideThickness: core.ValueInput) -> bool: + return int() + @version.setter + def version(self, value: int): """ - Method that sets the inside and outside thicknesses of the shell. + Gets and set the version of the SMT format to write to. The default + is to use the current version of the Autodesk Shape Manager kernel + that Fusion is using. Specifying an invalid version will result + in an assert. + + Valid versions are 218 up to the current version, which is what this + property returns by default when a new SMTExportOptions object is + created. + """ + pass + +class SphereFeature(Feature): + """ + Object that represents an existing sphere feature in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SphereFeature: + return SphereFeature() + +class SplitBodyFeature(Feature): + """ + Object that represents an existing split body feature in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SplitBodyFeature: + return SplitBodyFeature() + 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) - insideThickness : ValueInput object that defines the inside thickness. If set to null, the inside thickness is removed. - outsideThickness : ValueInput object that defines the outside thickness. If set to null, the outside thickness is removed. - Returns true if successful + 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 body to split. + 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) -> ShellFeature: + def createForAssemblyContext(self, occurrence: Occurrence) -> SplitBodyFeature: """ 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. + Returns the proxy object or null if this is not the NativeObject. """ - return ShellFeature() + return SplitBodyFeature() @property - def inputEntities(self) -> core.ObjectCollection: + def splitBodies(self) -> core.ObjectCollection: """ - Gets the input faces/bodies. + Gets and sets the input solid or open bodies that are split. + + 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() - @property - def isTangentChain(self) -> bool: + @splitBodies.setter + def splitBodies(self, value: core.ObjectCollection): """ - Gets if any faces that are tangentially connected to any of - the input faces will also be included in setting InputEntities. + Gets and sets the input solid or open bodies that are split. + + 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() + pass @property - def insideThickness(self) -> ModelParameter: + def splittingTool(self) -> core.Base: """ - Gets the inside thickness. - Edit the thickness through ModelParameter. - This property returns nothing in the case where the feature is non-parametric. + Gets the entity that defines the splitting tool. The splitting tool is a single entity that can be either a + solid body, open body, plane, sketch curve or face that partially or fully intersects the bodyToSplit. + + 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 ModelParameter() + return core.Base() @property - def outsideThickness(self) -> ModelParameter: + def isSplittingToolExtended(self) -> bool: """ - Gets the outside thickness. - Edit the thickness through ModelParameter. - This property returns nothing in the case where the feature is non-parametric. + Gets whether or not the splitting tool is to be automatically extended (if possible) so as to + completely intersect the bodyToSplit. """ - return ModelParameter() + return bool() @property - def nativeObject(self) -> ShellFeature: + 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. """ - return ShellFeature() + return SplitBodyFeature() -class SilhouetteSplitFeature(Feature): +class SplitFaceFeature(Feature): """ - Object that represents an existing silhouette split feature in a design. + Object that represents an existing split face feature in a design. """ def __init__(self): pass @staticmethod - def cast(arg) -> SilhouetteSplitFeature: - return SilhouetteSplitFeature() - def createForAssemblyContext(self, occurrence: Occurrence) -> SilhouetteSplitFeature: + def cast(arg) -> SplitFaceFeature: + return SplitFaceFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> SplitFaceFeature: """ Creates or returns a proxy for the native object - i.e. a new object that represents this object but adds the assembly context @@ -29170,384 +50881,460 @@ def createForAssemblyContext(self, occurrence: Occurrence) -> SilhouetteSplitFea 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 SilhouetteSplitFeature() - @property - def viewDirection(self) -> core.Base: + return SplitFaceFeature() + def setAsSurfaceIntersectionSplitType(self, splittingTool: core.Base, isSplittingToolExtended: bool) -> bool: """ - Gets and sets the entity that defines the silhouette view direction, which can be a - construction axis, linear BRepEdge, planar BRepFace or a construction plane. + Set the split type to be a surface to surface intersection. If the split tool is a curve + it will be extruded into a surface to use in the split. If it's a surface, the surface will + be used and optionally extended to fully intersect the faces to be split. - To use this property, you need to position the timeline marker to immediately before this 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(s) that defines the splitting tool. The splitting tool can be a single entity or an ObjectCollection + containing solid and/or open bodies, construction planes, faces, or sketch curves that partially or fully intersect + the faces that are being split. + isSplittingToolExtended : Specifies if the splitting tool should be extended so that is fully intersects the faces to be split. + Returns true is setting the split type was successful. """ - return core.Base() - @viewDirection.setter - def viewDirection(self, value: core.Base): + return bool() + def setAsAlongVectorSplitType(self, splittingTool: core.Base, directionEntity: core.Base) -> bool: """ - Gets and sets the entity that defines the silhouette view direction, which can be a - construction axis, linear BRepEdge, planar BRepFace or a construction plane. + Sets the split type to project the splitting tool along the direction defined by the + specified entity. - To use this property, you need to position the timeline marker to immediately before this 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(s) that defines the splitting tool. The splitting tool can be a single entity or an ObjectCollection + containing faces or sketch curves. If faces are input, the edges of the face are used as the splitting tool. + directionEntity : An entity that defines the direction of projection of the splitting tool. This can be + a linear BRepEdge, SketchLine, ConstructionLine, or a planar face where the face + normal is used. + Returns true is setting the split type was successful. + """ + return bool() + def setAsClosestPointSplitType(self, splittingTool: core.Base) -> bool: + """ + Sets the split type to be a curve that defined by projecting the splitting curve to the + closest point on the surface. + + 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(s) that defines the splitting tool. The splitting tool can be a single entity or an ObjectCollection + containing faces or sketch curves. If faces are input, the edges of the face are used as the splitting tool. + Returns true if setting the closest point split type was successful. """ - pass + return bool() @property - def targetBody(self) -> BRepBody: + def facesToSplit(self) -> core.ObjectCollection: """ - Gets and sets the solid body to split. + Gets and sets the faces to be split. + The collection can contain one or more faces selected from solid and/or open bodies. 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() - @targetBody.setter - def targetBody(self, value: BRepBody): + return core.ObjectCollection() + @facesToSplit.setter + def facesToSplit(self, value: core.ObjectCollection): """ - Gets and sets the solid body to split. + Gets and sets the faces to be split. + The collection can contain one or more faces selected from solid and/or open bodies. 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 operation(self) -> SilhouetteSplitOperations: + def splittingTool(self) -> core.ObjectCollection: """ - Gets the type of silhouette split operation. + Gets the entity(s) that define the splitting tool(s). The splitting tool can consist of one or more of + the following: BRepBody, ConstructionPlane, BRepFace, sketch curve that extends or can + be extended beyond the extents of the face. To set the splitting tool, use one of the set methods to + also define the split type. + + 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 SilhouetteSplitOperations() + return core.ObjectCollection() @property - def nativeObject(self) -> SilhouetteSplitFeature: + def isSplittingToolExtended(self) -> bool: + """ + Gets whether or not the setting to automatically extend the splittingTool was set when the feature was created. + + This property is valid only when the splitType property returns surfaceIntersectionSplitType. + """ + return bool() + @property + 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. """ - return SilhouetteSplitFeature() + return SplitFaceFeature() + @property + def directionEntity(self) -> core.Base: + """ + Gets the direction entity when the split type is along a vector. If the split type + is not alongVectorSplitType this property will return null. + + To set the direction entity use the setAsAlongVectorSplitType method. + """ + return core.Base() + @property + def splitType(self) -> SplitFaceSplitTypes: + """ + Returns the type of split type currently defined. To change the split type, use + one of the set methods. + """ + return SplitFaceSplitTypes() -class SketchAngularDimension(SketchDimension): +class STEPExportOptions(ExportOptions): """ - An angular dimension in a sketch. + Defines that a STEP export is to be done and specifies the various options. """ def __init__(self): pass @staticmethod - def cast(arg) -> SketchAngularDimension: - return SketchAngularDimension() - def createForAssemblyContext(self, occurrence: Occurrence) -> SketchAngularDimension: - """ - 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 SketchAngularDimension() - @property - def lineOne(self) -> SketchLine: - """ - The first line being constrained. - """ - return SketchLine() + def cast(arg) -> STEPExportOptions: + return STEPExportOptions() @property - def lineTwo(self) -> SketchLine: + def wantTempIds(self) -> bool: """ - The second line being constrained. + 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 SketchLine() - @property - def nativeObject(self) -> SketchAngularDimension: + return bool() + @wantTempIds.setter + def wantTempIds(self, value: bool): """ - 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. + 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 SketchAngularDimension() + pass -class SketchConcentricCircleDimension(SketchDimension): +class StitchFeature(Feature): """ - A concentric circle dimension in a sketch. + Object that represents an existing stitch feature in a design. """ def __init__(self): pass @staticmethod - def cast(arg) -> SketchConcentricCircleDimension: - return SketchConcentricCircleDimension() - def createForAssemblyContext(self, occurrence: Occurrence) -> SketchConcentricCircleDimension: + def cast(arg) -> StitchFeature: + return StitchFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> StitchFeature: """ 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. + Returns the proxy object or null if this is not the NativeObject. """ - return SketchConcentricCircleDimension() + return StitchFeature() @property - def circleOne(self) -> SketchCurve: + def stitchSurfaces(self) -> core.ObjectCollection: """ - Returns the first concentric circle or arc. + Gets and sets the surfaces to stitch together. In some cases the stitch operation results in + faces being merged so the original faces are no longer available after the feature is created. + in this case you need to reposition the timeline marker to just before this feature + when the faces do exist. + + 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 SketchCurve() + return core.ObjectCollection() + @stitchSurfaces.setter + def stitchSurfaces(self, value: core.ObjectCollection): + """ + Gets and sets the surfaces to stitch together. In some cases the stitch operation results in + faces being merged so the original faces are no longer available after the feature is created. + in this case you need to reposition the timeline marker to just before this feature + when the faces do exist. + + 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 circleTwo(self) -> SketchCurve: + def tolerance(self) -> ModelParameter: """ - Returns the second concentric circle or arc. + Returns the parameter controlling the tolerance. You can edit the tolerance + by editing the value of the parameter object. """ - return SketchCurve() + return ModelParameter() @property - def nativeObject(self) -> SketchConcentricCircleDimension: + def operation(self) -> FeatureOperations: + """ + Gets and sets the feature operation to perform. This property value is ignored if the stitched result does not + form a solid body. + + 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 FeatureOperations() + @operation.setter + def operation(self, value: FeatureOperations): + """ + Gets and sets the feature operation to perform. This property value is ignored if the stitched result does not + form a solid body. + + 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 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. """ - return SketchConcentricCircleDimension() + return StitchFeature() -class SketchCurve(SketchEntity): +class STLExportOptions(ExportOptions): """ - A single sketch curve. This is the base class for the specific curve types. + Defines that a STL export is to be done and specifies the various options. """ def __init__(self): pass @staticmethod - def cast(arg) -> SketchCurve: - return SketchCurve() - def split(self, splitPoint: core.Point3D, createConstraints: bool) -> core.ObjectCollection: + def cast(arg) -> STLExportOptions: + return STLExportOptions() + @property + def isBinaryFormat(self) -> bool: """ - 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 - createConstraints : Constraints are created by default. Specify false to create no constraints. - Returns the resulting 2 curves; the original curve + the newly created curve - When split spline the original is deleted and two new curves returned. - Empty collection returned if curve is closed. + Indicates if the STL file is to be an ASCII or binary STL format. The default is true. """ - return core.ObjectCollection() - def trim(self, segmentPoint: core.Point3D, createConstraints: bool) -> core.ObjectCollection: + return bool() + @isBinaryFormat.setter + def isBinaryFormat(self, value: bool): """ - 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) - The segment of the curve closest to the segmentPoint gets removed - createConstraints : Constraints are created by default. Specify false to not create constraints. - When trimming the start or end side of a line, unclosed circular or elliptical arc, the original entity is modified and returned - When trimming the middle of a line, unclosed circular or elliptical arc the original entity is deleted and two new entities are returned - When trimming the start or end of any type of closed curve, the original is deleted and a new curve is returned - Any trimming of a spline (open or closed) deletes the original and new spline/s are returned - Trimming a curve having no intersections deletes the original and returns an empty collection + Indicates if the STL file is to be an ASCII or binary STL format. The default is true. """ - return core.ObjectCollection() - def breakCurve(self, segmentPoint: core.Point3D, createConstraints: bool) -> core.ObjectCollection: + pass + @property + def isOneFilePerBody(self) -> bool: """ - 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. - segmentPoint : A point that specifies the segment of the curve that is to be split from the rest of the curve. The nearest - intersection(s) to this point define the break location(s). - createConstraints : Optional argument that specifies if constraints should be created between the new curve segments. A value of - true indicates constraints will be created. - All of the curves resulting from the break are returned in an ObjectCollection. In the case where no intersections - are found and as a result the curve is not broken, an empty ObjectCollection is returned. + 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 core.ObjectCollection() - def extend(self, endPoint: core.Point3D, createConstraints: bool) -> core.ObjectCollection: + return bool() + @isOneFilePerBody.setter + def isOneFilePerBody(self, value: bool): """ - 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) - The end of the curve closest to the endPoint gets extended - createConstraints : Constraints are created by default. Specify false to not create constraints. - Returns the modified original curve if the start or end of the curve is extended - If the extend joins a curve to another, the two original curves are deleted and a new curve is returned - If an arc is extended so as to become a circle, the original arc is deleted and a new circle is returned + 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 core.ObjectCollection() - def intersections(self, sketchCurves: core.ObjectCollection) -> tuple[bool, core.ObjectCollection, core.ObjectCollection]: + pass + @property + def meshRefinement(self) -> MeshRefinementSettings: """ - Get the curves that intersect this curve along with the intersection points (Point3D) - sketchCurves : A collection of curves to attempt to find intersections with. - Set the value of this parameter to null to use all curves in the sketch for the calculation. - intersectingCurves : A collection of the actual intersecting curves - intersectionPoints : A collection of intersection points (Point3D) - Item numbers in this collection correspond to the item numbers in the intersectingCurves collection. - Returns true if the method was successful. It can be successful regardless of whether intersections were found or not. + 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 (bool(), core.ObjectCollection(), core.ObjectCollection()) + 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 length(self) -> float: + def surfaceDeviation(self) -> float: """ - Returns the length of the curve in centimeters. + 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 isConstruction(self) -> bool: + def normalDeviation(self) -> float: """ - Gets and sets whether this curve is construction geometry. + 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 bool() - @isConstruction.setter - def isConstruction(self, value: bool): + return float() + @normalDeviation.setter + def normalDeviation(self, value: float): """ - Gets and sets whether this curve is construction geometry. + 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 - -class SketchDiameterDimension(SketchDimension): - """ - An diameter dimension in a sketch. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> SketchDiameterDimension: - return SketchDiameterDimension() - def createForAssemblyContext(self, occurrence: Occurrence) -> SketchDiameterDimension: + @property + def maximumEdgeLength(self) -> float: """ - 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. + 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 SketchDiameterDimension() - @property - def entity(self) -> SketchCurve: + return float() + @maximumEdgeLength.setter + def maximumEdgeLength(self, value: float): """ - Returns the arc or circle being constrained. + 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 SketchCurve() + pass @property - def nativeObject(self) -> SketchDiameterDimension: + def aspectRatio(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 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 SketchDiameterDimension() - -class SketchEllipseMajorRadiusDimension(SketchDimension): - """ - An ellipse major radius dimension in a sketch. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> SketchEllipseMajorRadiusDimension: - return SketchEllipseMajorRadiusDimension() - def createForAssemblyContext(self, occurrence: Occurrence) -> SketchEllipseMajorRadiusDimension: + return float() + @aspectRatio.setter + def aspectRatio(self, value: float): """ - 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. + 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 SketchEllipseMajorRadiusDimension() + pass @property - def ellipse(self) -> SketchCurve: + def availablePrintUtilities(self) -> list[str]: """ - Returns the ellipse or elliptical arc being constrained. + 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 STL file in. """ - return SketchCurve() + return [str()] @property - def nativeObject(self) -> SketchEllipseMajorRadiusDimension: + def printUtility(self) -> str: """ - 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. + Specifies which print utility to use when opening the STL 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 know 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 STL 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 know 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 SketchEllipseMajorRadiusDimension() - -class SketchEllipseMinorRadiusDimension(SketchDimension): - """ - An ellipse minor radius dimension in a sketch. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> SketchEllipseMinorRadiusDimension: - return SketchEllipseMinorRadiusDimension() - def createForAssemblyContext(self, occurrence: Occurrence) -> SketchEllipseMinorRadiusDimension: + @property + def sendToPrintUtility(self) -> bool: """ - 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. + Gets and sets whether the created STL 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 STL file will be sent to the print utility specified by the printUtility property. If this + is false a filename must be defined. """ - return SketchEllipseMinorRadiusDimension() + pass @property - def ellipse(self) -> SketchCurve: + def unitType(self) -> DistanceUnits: """ - Returns the ellipse or elliptical arc being constrained. + Gets and sets the units to use for the created STL file. When the STLExportOptions object is created, this property + is initialized with the default units specified for the Design. """ - return SketchCurve() - @property - def nativeObject(self) -> SketchEllipseMinorRadiusDimension: + return DistanceUnits() + @unitType.setter + def unitType(self, value: DistanceUnits): """ - 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 units to use for the created STL file. When the STLExportOptions object is created, this property + is initialized with the default units specified for the Design. """ - return SketchEllipseMinorRadiusDimension() + pass -class SketchLinearDimension(SketchDimension): +class SurfaceDeleteFaceFeature(Feature): """ - A linear dimension in a sketch. + Object that represents an existing Surface Delete Face feature in a design. + + The SurfaceDeleteFaceFeature and DeleteFaceFeature differ in that the SurfaceDeleteFaceFeature + can delete any face without any restrictions. If the body is a solid, it will become a surface + when the first face is deleted. The specified face is deleted without any other changes being + made to the body. The DeleteFaceFeature deletes the specified face and also modifies the other faces + in the body to heal or fill in the area of the deleted face. This means that a solid body will + remain solid. """ def __init__(self): pass @staticmethod - def cast(arg) -> SketchLinearDimension: - return SketchLinearDimension() - def createForAssemblyContext(self, occurrence: Occurrence) -> SketchLinearDimension: + def cast(arg) -> SurfaceDeleteFaceFeature: + return SurfaceDeleteFaceFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> SurfaceDeleteFaceFeature: """ 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 SketchLinearDimension() - @property - def entityOne(self) -> SketchEntity: - """ - The first entity being constrained. + Returns the proxy object or null if this is not the NativeObject. """ - return SketchEntity() + return SurfaceDeleteFaceFeature() @property - def entityTwo(self) -> SketchEntity: + def deletedFaces(self) -> list[BRepFace]: """ - The second entity being constrained. + Gets and sets the set of faces that are deleted by this feature. + + 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 SketchEntity() - @property - def orientation(self) -> DimensionOrientations: + return [BRepFace()] + @deletedFaces.setter + def deletedFaces(self, value: list[BRepFace]): """ - The orientation of this dimension. + Gets and sets the set of faces that are deleted by this feature. + + 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 DimensionOrientations() + pass @property - def nativeObject(self) -> SketchLinearDimension: + 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. """ - return SketchLinearDimension() + return SurfaceDeleteFaceFeature() -class SketchOffsetCurvesDimension(SketchDimension): +class SweepFeature(Feature): """ - A SketchOffsetCurvesDimension object is created automatically whenever curves are offset. + Object that represents an existing sweep feature in a design. """ def __init__(self): pass @staticmethod - def cast(arg) -> SketchOffsetCurvesDimension: - return SketchOffsetCurvesDimension() - def createForAssemblyContext(self, occurrence: Occurrence) -> SketchOffsetCurvesDimension: + def cast(arg) -> SweepFeature: + return SweepFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> SweepFeature: """ Creates or returns a proxy for the native object - i.e. a new object that represents this object but adds the assembly context @@ -29555,461 +51342,473 @@ def createForAssemblyContext(self, occurrence: Occurrence) -> SketchOffsetCurves 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 SketchOffsetCurvesDimension() + return SweepFeature() @property - def offsetConstraint(self) -> OffsetConstraint: + def profile(self) -> core.Base: """ - Returns the OffsetConstraint object that defines the curve offset. From the constraint - you can get the original curves, the offset curves, and the dimension controlling the offset distance. + Gets and sets the profiles or planar faces used to define the shape of the sweep. + This property can return or be set with a single Profile, a single planar face, or + an ObjectCollection consisting of multiple profiles and planar faces. When an + ObjectCollection is used all of the profiles and faces must be co-planar. + This property returns nothing in the case where the feature is non-parametric. + + 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 OffsetConstraint() - @property - def nativeObject(self) -> SketchOffsetCurvesDimension: + return core.Base() + @profile.setter + def profile(self, value: 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 profiles or planar faces used to define the shape of the sweep. + This property can return or be set with a single Profile, a single planar face, or + an ObjectCollection consisting of multiple profiles and planar faces. When an + ObjectCollection is used all of the profiles and faces must be co-planar. + This property returns nothing in the case where the feature is non-parametric. + + 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 SketchOffsetCurvesDimension() - -class SketchOffsetDimension(SketchDimension): - """ - An offset dimension in a sketch. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> SketchOffsetDimension: - return SketchOffsetDimension() - def createForAssemblyContext(self, occurrence: Occurrence) -> SketchOffsetDimension: + @property + def operation(self) -> FeatureOperations: """ - 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. + Gets and sets the type of operation performed by the sweep. """ - return SketchOffsetDimension() + return FeatureOperations() + @operation.setter + def operation(self, value: FeatureOperations): + """ + Gets and sets the type of operation performed by the sweep. + """ + pass @property - def line(self) -> SketchLine: + def path(self) -> Path: """ - The first line being constrained. + Gets and sets the path to create the sweep. + This property returns nothing in the case where the feature is non-parametric. + + 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 SketchLine() + return Path() + @path.setter + def path(self, value: Path): + """ + Gets and sets the path to create the sweep. + This property returns nothing in the case where the feature is non-parametric. + + 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 entityTwo(self) -> SketchEntity: + def distanceOne(self) -> ModelParameter: """ - The second entity being constrained. (a parallel SketchLine or a SketchPoint) + Gets the distance for the first side. + This property returns nothing in the case where the feature is non-parametric. """ - return SketchEntity() + return ModelParameter() @property - def nativeObject(self) -> SketchOffsetDimension: + def distanceTwo(self) -> ModelParameter: """ - 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 the distance for the second side. + Returns nothing if the path is only on one side of the profile or if the sweep definition includes a guide rail or surface. + It's always the distance against the normal of the profile if available. + This property returns nothing in the case where the feature is non-parametric. """ - return SketchOffsetDimension() - -class SketchPoint(SketchEntity): - """ - A point within a sketch. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> SketchPoint: - return SketchPoint() - def move(self, translation: core.Vector3D) -> bool: + return ModelParameter() + @property + def orientation(self) -> SweepOrientationTypes: """ - Moves the sketch geometry using the specified transform. - Move respects any constraints that would normally prohibit the move. - This will fail in the case where the IsReference property is true. - translation : The vector that defines the distance and direction to move. - Returns true if moving the sketch point was successful. + Gets and sets the sweep orientation. It defaults to PerpendicularOrientationType. + This property is ignored if sweeping a solid or a guide rail or surface has been specified. + + 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() - def merge(self, point: SketchPoint) -> bool: + return SweepOrientationTypes() + @orientation.setter + def orientation(self, value: SweepOrientationTypes): """ - Merges the input sketch point into this sketch point. This effectively - deletes the other sketch point and changes all entities that referenced - that sketch point to reference this sketch point. + Gets and sets the sweep orientation. It defaults to PerpendicularOrientationType. + This property is ignored if sweeping a solid or a guide rail or surface has been specified. - This is the equivalent of dragging a sketch point on top of another - sketch point in the user interface. - point : The point to merge with this point. - Returns true if the merge was successful. + 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() - def createForAssemblyContext(self, occurrence: Occurrence) -> SketchPoint: + pass + @property + def startFaces(self) -> BRepFaces: """ - 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. + Property that returns the set of that cap one end of the sweep that are coincident with the sketch plane. + In the cases where there aren't any start faces this property will return Nothing. """ - return SketchPoint() + return BRepFaces() @property - def geometry(self) -> core.Point3D: + def endFaces(self) -> BRepFaces: """ - Returns a Point3D object which provides the position of the sketch point. - The returned geometry is always in sketch space. + Property that returns the set of that cap one end of the sweep 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 revolution 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 Nothing. """ - return core.Point3D() + return BRepFaces() @property - def worldGeometry(self) -> core.Point3D: + def sideFaces(self) -> BRepFaces: """ - Returns a Point3D object which provides the position of the sketch point in world space. - The returned coordinate takes into account the assembly context and the position of the - sketch in it's parent component, which means the coordinate will be returned in the root - component space. + Property that returns an object that provides access to all of the faces created around the perimeter of the feature. """ - return core.Point3D() + return BRepFaces() @property - def nativeObject(self) -> SketchPoint: + 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. """ - return SketchPoint() + return SweepFeature() @property - def connectedEntities(self) -> SketchEntityList: + def isSolid(self) -> bool: """ - Returns the set of sketch entities that are directly connected to this point. For - example any entities that use this point as their start point or end point will be returned - and any circle, arc or ellipse who have this point as a center point will be returned. This - does not include entities that are related to the point through a constraint. + Indicates if this feature was initially created as a solid or a surface. """ - return SketchEntityList() - -class SketchPointHolePositionDefinition(HolePositionDefinition): - """ - Provides positioning information for a hole that is positioned by a sketch point. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> SketchPointHolePositionDefinition: - return SketchPointHolePositionDefinition() + return bool() @property - def sketchPoint(self) -> SketchPoint: + def guideRail(self) -> Path: """ - Returns the sketch point that defines the center of the hole. + Gets and sets the guide rail to create the sweep. This can be set to null + to have a path only sweep. + + 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 Path() + @guideRail.setter + def guideRail(self, value: Path): + """ + Gets and sets the guide rail to create the sweep. This can be set to null + to have a path only sweep. + + 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 SketchPoint() - -class SketchPointsHolePositionDefinition(HolePositionDefinition): - """ - Provides positioning information for a hole that is positioned by a sketch point. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> SketchPointsHolePositionDefinition: - return SketchPointsHolePositionDefinition() @property - def sketchPoints(self) -> core.ObjectCollection: + def isDirectionFlipped(self) -> bool: """ - Returns the sketch point that defines the center of the hole. + Gets and sets if the direction of the sweep is flipped. + This property only applies to sweep features that include a guide rail and whose path runs on both + sides of the profile. + + 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.ObjectCollection() - -class SketchRadialDimension(SketchDimension): - """ - An radial dimension in a sketch. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> SketchRadialDimension: - return SketchRadialDimension() - def createForAssemblyContext(self, occurrence: Occurrence) -> SketchRadialDimension: + return bool() + @isDirectionFlipped.setter + def isDirectionFlipped(self, value: bool): """ - 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. + Gets and sets if the direction of the sweep is flipped. + This property only applies to sweep features that include a guide rail and whose path runs on both + sides of the profile. + + 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 SketchRadialDimension() + pass @property - def entity(self) -> SketchCurve: + def profileScaling(self) -> SweepProfileScalingOptions: """ - The arc or circle being constrained. + Gets and sets the sweep profile scaling option. It defaults to SweepProfileScaleOption. + This property is only used when a guide rail has been specified. + + 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 SketchCurve() - @property - def nativeObject(self) -> SketchRadialDimension: + return SweepProfileScalingOptions() + @profileScaling.setter + def profileScaling(self, value: SweepProfileScalingOptions): """ - 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 sweep profile scaling option. It defaults to SweepProfileScaleOption. + This property is only used when a guide rail has been specified. + + 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 SketchRadialDimension() - -class SketchText(SketchEntity): - """ - Text in a sketch. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> SketchText: - return SketchText() - def explode(self) -> list[SketchCurve]: + @property + def participantBodies(self) -> list[BRepBody]: """ - Explodes the SketchText into a set of curves. The original SketchText is deleted as a result of calling this. - Returns an array of the sketch curves that were created that represent the text. + 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 [SketchCurve()] - def asCurves(self) -> list[core.Curve3D]: + return [BRepBody()] + @participantBodies.setter + def participantBodies(self, value: list[BRepBody]): """ - Returns the underlying curves that define the outline of the text. Calling this does not affect the - SketchText and does not create any new sketch geometry but returns the geometrical definition of the - sketch outline. - Returns an array of transient curves that represent the outline of the text. + 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 [core.Curve3D()] - def redefineAsFitOnPath(self, path: core.Base, isAbovePath: bool) -> bool: + pass + @property + def taperAngle(self) -> ModelParameter: """ - Sets this SketchTextInput to define text that fits along a specified path. Fitting on a path will - space the characters so the text fits along the entire length of the path entity. - path : The entity that defines the path for the text. This can be a SketchCurve or BRepEdge object. - isAbovePath : Indicates if the text should be positioned above or below the path entity. - Returns true if the setting the definition was successful. + Gets the ModelParameter that defines the taper angle of the sweep feature. + The value of the angle can be edited by using the properties on the ModelParameter object to edit the parameter. + This property is ignored if sweeping a solid or a guide rail or surface has been specified. """ - return bool() - def redefineAsAlongPath(self, path: core.Base, isAbovePath: bool, horizontalAlignment: core.HorizontalAlignments, characterSpacing: float) -> bool: + return ModelParameter() + @property + def twistAngle(self) -> ModelParameter: """ - Sets this SketchTextInput to define text that follows along a specified path. - path : The entity that defines the path for the text. This can be a SketchCurve or BRepEdge object. - isAbovePath : Indicates if the text should be positioned above or below the path entity. - horizontalAlignment : Specifies the horizontal alignment of the text with respect to the path curve. - characterSpacing : The spacing between the characters. This is an additional spacing to apply that is defined - as a percentage of the default spacing. A spacing of 0 indicates no additional spacing. - A spacing of 50 indicates to use the default plus 50% of the default. - Returns true if the setting the definition was successful. + Gets the ModelParameter that defines the twist angle of the sweep feature. + The value of the angle can be edited by using the properties on the ModelParameter object to edit the parameter. + When sweeping a solid setting the twist angle requires the solid twist axis to be set. + This property is ignored if a guide rail or surface has been specified. """ - return bool() + return ModelParameter() @property - def height(self) -> float: + def extent(self) -> SweepExtentTypes: """ - Gets and sets the height of the text in centimeters. + Gets and sets the sweep extent type. It defaults to PerpendicularToPathExtentType. + When sweeping a solid setting the twist angle requires the solid twist axis to be set. + This property is ignored when a guide rail has not been specified. """ - return float() - @height.setter - def height(self, value: float): + return SweepExtentTypes() + @extent.setter + def extent(self, value: SweepExtentTypes): """ - Gets and sets the height of the text in centimeters. + Gets and sets the sweep extent type. It defaults to PerpendicularToPathExtentType. + When sweeping a solid setting the twist angle requires the solid twist axis to be set. + This property is ignored when a guide rail has not been specified. """ pass @property - def text(self) -> str: + def guideSurfaces(self) -> list[BRepFace]: """ - Gets and sets the text. This is a simple string and ignores any formatting defined within the text. + Gets and sets the guide surfaces to create the sweep. This can be set to + an empty array to remove the guide surfaces and have a single path sweep feature. + The isChainSelection property controls whether tangentially connected faces to + the guide surfaces are also made guide surfaces. + + 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 str() - @text.setter - def text(self, value: str): + return [BRepFace()] + @guideSurfaces.setter + def guideSurfaces(self, value: list[BRepFace]): """ - Gets and sets the text. This is a simple string and ignores any formatting defined within the text. + Gets and sets the guide surfaces to create the sweep. This can be set to + an empty array to remove the guide surfaces and have a single path sweep feature. + The isChainSelection property controls whether tangentially connected faces to + the guide surfaces are also made guide surfaces. + + 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 position(self) -> core.Point3D: + def isChainSelection(self) -> bool: """ - 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. + Get and sets whether faces that are tangentially connected to the guide surfaces are also made guide surfaces. """ - return core.Point3D() - @position.setter - def position(self, value: core.Point3D): + return bool() + @isChainSelection.setter + def isChainSelection(self, value: bool): """ - 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. + Get and sets whether faces that are tangentially connected to the guide surfaces are also made guide surfaces. """ pass @property - def fontName(self) -> str: + def solidBody(self) -> BRepBody: """ - Gets and sets the name of the font to use. + Gets and sets the BRepBody object to sweep. It must be a solid body. + Setting this property results in the type being a single path sweep, and + if the profile, guide path, or surface are set, they are set to null. + + 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 str() - @fontName.setter - def fontName(self, value: str): + return BRepBody() + @solidBody.setter + def solidBody(self, value: BRepBody): """ - Gets and sets the name of the font to use. + Gets and sets the BRepBody object to sweep. It must be a solid body. + Setting this property results in the type being a single path sweep, and + if the profile, guide path, or surface are set, they are set to null. + + 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 angle(self) -> float: + def solidOrientation(self) -> SweepSolidOrientationTypes: """ - Gets and sets the angle of the text relative to the x-axis of the x-y plane of the sketch. + Gets and sets the sweep solid orientation. It defaults to PerpendicularSolidOrientationType. + Setting the solid orientation to AlignedSolidOrientationType requires the solid aligned axis to be set. + This property is ignored if sweeping a profile. + + 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 float() - @angle.setter - def angle(self, value: float): + return SweepSolidOrientationTypes() + @solidOrientation.setter + def solidOrientation(self, value: SweepSolidOrientationTypes): """ - Gets and sets the angle of the text relative to the x-axis of the x-y plane of the sketch. + Gets and sets the sweep solid orientation. It defaults to PerpendicularSolidOrientationType. + Setting the solid orientation to AlignedSolidOrientationType requires the solid aligned axis to be set. + This property is ignored if sweeping a profile. + + 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 textStyle(self) -> TextStyles: + def solidAlignedAxis(self) -> core.Base: """ - Gets and sets the text style to apply to the entire text. This is a bitwise enum so styles - can be combined to apply multiple styles. For example you can apply bold and underline. + Gets and sets the axis to align the solid being swept with. The axis is used when sweeping a solid, + and the solid orientation is set to AlignedSolidOrientationType. It can be a sketch line, linear edge, + or construction axis. """ - return TextStyles() - @textStyle.setter - def textStyle(self, value: TextStyles): + return core.Base() + @solidAlignedAxis.setter + def solidAlignedAxis(self, value: core.Base): """ - Gets and sets the text style to apply to the entire text. This is a bitwise enum so styles - can be combined to apply multiple styles. For example you can apply bold and underline. + Gets and sets the axis to align the solid being swept with. The axis is used when sweeping a solid, + and the solid orientation is set to AlignedSolidOrientationType. It can be a sketch line, linear edge, + or construction axis. """ pass @property - def boundaryLines(self) -> SketchLineList: + def solidTwistAxis(self) -> core.Base: """ - 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. + Gets and sets the twist axis of the solid being swept. The axis is used when sweeping a solid, + and the twist angle is set. It can be a sketch line, linear edge, construction axis, or a face + that defines an axis (cylinder, cone, torus, etc.). """ - return SketchLineList() - @property - def isHorizontalFlip(self) -> bool: + return core.Base() + @solidTwistAxis.setter + def solidTwistAxis(self, value: core.Base): """ - Gets and sets if the text is flipped horizontally. + Gets and sets the twist axis of the solid being swept. The axis is used when sweeping a solid, + and the twist angle is set. It can be a sketch line, linear edge, construction axis, or a face + that defines an axis (cylinder, cone, torus, etc.). """ - return bool() - @isHorizontalFlip.setter - def isHorizontalFlip(self, value: bool): + pass + +class SymmetricExtentDefinition(ExtentDefinition): + """ + A definition object that is used to define the extents of a feature to be symmetric. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> SymmetricExtentDefinition: + return SymmetricExtentDefinition() + @staticmethod + def create(distance: core.ValueInput, isFullLength: bool) -> SymmetricExtentDefinition: """ - Gets and sets if the text is flipped horizontally. + Statically creates a new SymmetricExtentDefinition object. This is used as input when + create a new feature and defining the starting condition. + distance : An input ValueInput objects that defines either half the extent of the extrude or the full extent, depending + on the value of the isFullLength argument. + isFullLength : An input boolean that specifies if the distance specified defines the full or half length of the extrusion. + Returns the newly created SymmetricExtentDefinition or null in the case of a failure. """ - pass + return SymmetricExtentDefinition() @property - def isVerticalFlip(self) -> bool: + def isFullLength(self) -> bool: """ - Gets and sets if the text is flipped vertically. + Gets and sets if the distance defines the full extent length or half the length. A value of + True indicates if defines the full length. """ return bool() - @isVerticalFlip.setter - def isVerticalFlip(self, value: bool): + @isFullLength.setter + def isFullLength(self, value: bool): """ - Gets and sets if the text is flipped vertically. + Gets and sets if the distance defines the full extent length or half the length. A value of + True indicates if defines the full length. """ pass @property - def definition(self) -> SketchTextDefinition: + def distance(self) -> core.Base: """ - Gets the definition that is currently used to specify how the sketch text is defined. + Returns the current extent distance. If the SymmetricExtentDefinition object has been created statically and isn't associated with + a feature this will return a ValueInput object. If the SymmetricExtentDefinition object is obtained from a feature this + will return a ModelParameter object. You can use properties of the parameter to edit its value which will result in + the feature updating. """ - return SketchTextDefinition() + return core.Base() + @property + def taperAngle(self) -> core.Base: + """ + Returns the current taper angle. If the SymmetricExtentDefinition object has been created statically and isn't associated with + a feature this will return a ValueInput object. If the SymmetricExtentDefinition object is obtained from a feature this + will return a ModelParameter object. You can use properties of the parameter to edit its value which will result in + the feature updating. + """ + return core.Base() -class SliderJointMotion(JointMotion): +class SymmetryConstraint(GeometricConstraint): """ - Represents the set of information specific to a slider joint. + A symmetry constraint in a sketch. """ def __init__(self): pass @staticmethod - def cast(arg) -> SliderJointMotion: - return SliderJointMotion() - @property - def slideDirection(self) -> JointDirections: - """ - Gets and sets the direction of the slide. This can be set to - XAxisJointDirection, YAxisJointDirection, or ZAxisJointDirection. It can - return those three directions and CustomJointDirection. If this returns - CustomJointDirection then the customSlideDirectionEntity will return an entity - that defines the direction. If there is a custom direction defined and this - property is set to one of the three standard axes, the custom direction will - be removed and customSlideDirectionEntity will return null. - """ - return JointDirections() - @slideDirection.setter - def slideDirection(self, value: JointDirections): + def cast(arg) -> SymmetryConstraint: + return SymmetryConstraint() + def createForAssemblyContext(self, occurrence: Occurrence) -> SymmetryConstraint: """ - Gets and sets the direction of the slide. This can be set to - XAxisJointDirection, YAxisJointDirection, or ZAxisJointDirection. It can - return those three directions and CustomJointDirection. If this returns - CustomJointDirection then the customSlideDirectionEntity will return an entity - that defines the direction. If there is a custom direction defined and this - property is set to one of the three standard axes, the custom direction will - be removed and customSlideDirectionEntity will return null. + 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. """ - pass + return SymmetryConstraint() @property - def slideDirectionVector(self) -> core.Vector3D: + def entityOne(self) -> SketchEntity: """ - Returns the direction of the slide. This property will return null in the case - where the SliderJointMotion object was obtained from a JointInput object. + Returns the first curve. """ - return core.Vector3D() + return SketchEntity() @property - def customSlideDirectionEntity(self) -> core.Base: - """ - This property can be set using various types of entities that can infer a - direction. For example, a linear edge, sketch line, planar face, and cylindrical face. - This property is only valid in the case where the slideDirection property returns - CustomJointDirection. Setting this property will automatically set - the slideDirection property to CustomJointDirection. - - To set this property, you need to position the timeline marker to immediately before this joint. - This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) - """ - return core.Base() - @customSlideDirectionEntity.setter - def customSlideDirectionEntity(self, value: core.Base): + def entityTwo(self) -> SketchEntity: """ - This property can be set using various types of entities that can infer a - direction. For example, a linear edge, sketch line, planar face, and cylindrical face. - This property is only valid in the case where the slideDirection property returns - CustomJointDirection. Setting this property will automatically set - the slideDirection property to CustomJointDirection. - - To set this property, you need to position the timeline marker to immediately before this joint. - This can be accomplished using the following code: thisJoint.timelineObject.rollTo(True) + Returns the second curve. """ - pass + return SketchEntity() @property - def slideValue(self) -> float: - """ - Gets and sets the slide value. This is in centimeters. Setting this value is - the equivalent of using the Drive Joints command. - """ - return float() - @slideValue.setter - def slideValue(self, value: float): + def symmetryLine(self) -> SketchLine: """ - Gets and sets the slide value. This is in centimeters. Setting this value is - the equivalent of using the Drive Joints command. + Returns the axis (SketchLine) that defines the symmetry. """ - pass + return SketchLine() @property - def slideLimits(self) -> JointLimits: + def nativeObject(self) -> SymmetryConstraint: """ - Returns a JointLimits object that defines the slide limits for this joint. - Use the functionality of the returned JointLimits object to get, set, and modify - the joint limits. + 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 JointLimits() + return SymmetryConstraint() -class SmoothConstraint(GeometricConstraint): +class TangentConstraint(GeometricConstraint): """ - A smooth constraint in a sketch. + A tangent constraint in a sketch. """ def __init__(self): pass @staticmethod - def cast(arg) -> SmoothConstraint: - return SmoothConstraint() - def createForAssemblyContext(self, occurrence: Occurrence) -> SmoothConstraint: + def cast(arg) -> TangentConstraint: + return TangentConstraint() + def createForAssemblyContext(self, occurrence: Occurrence) -> TangentConstraint: """ Creates or returns a proxy for the native object - i.e. a new object that represents this object but adds the assembly context @@ -30017,7 +51816,7 @@ def createForAssemblyContext(self, occurrence: Occurrence) -> SmoothConstraint: 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 SmoothConstraint() + return TangentConstraint() @property def curveOne(self) -> SketchCurve: """ @@ -30031,84 +51830,70 @@ def curveTwo(self) -> SketchCurve: """ return SketchCurve() @property - def nativeObject(self) -> SmoothConstraint: + def nativeObject(self) -> TangentConstraint: """ 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 SmoothConstraint() + return TangentConstraint() -class SMTExportOptions(ExportOptions): +class TeardropHemFeatureDefinition(HemFeatureDefinition): """ - Defines that an SMT export is to be done and specifies the various options. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + The definition for a teardrop hem. """ def __init__(self): pass @staticmethod - def cast(arg) -> SMTExportOptions: - return SMTExportOptions() + def cast(arg) -> TeardropHemFeatureDefinition: + return TeardropHemFeatureDefinition() @property - def version(self) -> int: + def radius(self) -> ModelParameter: """ - Gets and set the version of the SMT format to write to. The default - is to use the current version of the Autodesk Shape Manager kernel - that Fusion 360 is using. Specifying an invalid version will result - in an assert. - - Valid versions are 218 up to the current version, which is what this - property returns by default when a new SMTExportOptions object is - created. + Gets the radius for a teardrop hem. """ - return int() - @version.setter - def version(self, value: int): + return ModelParameter() + @property + def length(self) -> ModelParameter: """ - Gets and set the version of the SMT format to write to. The default - is to use the current version of the Autodesk Shape Manager kernel - that Fusion 360 is using. Specifying an invalid version will result - in an assert. - - Valid versions are 218 up to the current version, which is what this - property returns by default when a new SMTExportOptions object is - created. + Gets the length for a teardrop hem. """ - pass - -class SphereFeature(Feature): - """ - Object that represents an existing sphere feature in a design. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> SphereFeature: - return SphereFeature() + return ModelParameter() + @property + def gap(self) -> ModelParameter: + """ + Gets the gap for a teardrop hem. + """ + return ModelParameter() -class SplitBodyFeature(Feature): +class ThickenFeature(Feature): """ - Object that represents an existing split body feature in a design. + Object that represents an existing Thicken feature in a design. """ def __init__(self): pass @staticmethod - def cast(arg) -> SplitBodyFeature: - return SplitBodyFeature() - def setSplittingTool(self, splittingTool: core.Base, isSplittingToolExtended: bool) -> bool: + def cast(arg) -> ThickenFeature: + return ThickenFeature() + def setInputEntities(self, inputFaces: core.ObjectCollection, isChainSelection: bool = True) -> bool: """ - Sets the splitting tool used for the feature. + Sets the faces and patch bodies to thicken. - To use this method, you need to position the timeline marker to immediately before this feature. + 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) - 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 body to split. - 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. + inputFaces : The faces or patch bodies to thicken. Faces need not be from the same component or body, nor do they need to be + connected or touching one another. + isChainSelection : A boolean value for setting whether or not faces that are tangentially connected to + the input faces (if any) will be included in the offset. The default value is true. + Returns true if successful """ return bool() - def createForAssemblyContext(self, occurrence: Occurrence) -> SplitBodyFeature: + def createForAssemblyContext(self, occurrence: Occurrence) -> ThickenFeature: """ Creates or returns a proxy for the native object - i.e. a new object that represents this object but adds the assembly context @@ -30116,817 +51901,1039 @@ def createForAssemblyContext(self, occurrence: Occurrence) -> SplitBodyFeature: 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 SplitBodyFeature() + return ThickenFeature() @property - def splitBodies(self) -> core.ObjectCollection: + def inputFaces(self) -> core.ObjectCollection: """ - Gets and sets the input solid or open bodies that are split. + Gets and sets the ObjectCollection containing the face and/or patch bodies to thicken. 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() - @splitBodies.setter - def splitBodies(self, value: core.ObjectCollection): + @inputFaces.setter + def inputFaces(self, value: core.ObjectCollection): """ - Gets and sets the input solid or open bodies that are split. + Gets and sets the ObjectCollection containing the face and/or patch bodies to thicken. 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 splittingTool(self) -> core.Base: + def thickness(self) -> ModelParameter: """ - Gets the entity that defines the splitting tool. The splitting tool is a single entity that can be either a - solid body, open body, plane, sketch curve or face that partially or fully intersects the bodyToSplit. + Returns the parameter controlling the thickness. You can edit the thickness value + by editing the value of the parameter object. + """ + return ModelParameter() + @property + def isSymmetric(self) -> bool: + """ + Gets and sets whether to add thickness symmetrically or only on one side of the face/s to thicken. + + 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() + @isSymmetric.setter + def isSymmetric(self, value: bool): + """ + Gets and sets whether to add thickness symmetrically or only on one side of the face/s to thicken. + + 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 operation(self) -> FeatureOperations: + """ + Gets and sets the feature operation to perform. 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() + return FeatureOperations() + @operation.setter + def operation(self, value: FeatureOperations): + """ + Gets and sets the feature operation to perform. + + 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 isSplittingToolExtended(self) -> bool: + def isChainSelection(self) -> bool: """ - Gets whether or not the splitting tool is to be automatically extended (if possible) so as to - completely intersect the bodyToSplit. + Get and sets whether faces that are tangentially connected to the input faces will be included in the thicken feature. """ return bool() @property - def nativeObject(self) -> SplitBodyFeature: + 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. """ - return SplitBodyFeature() + return ThickenFeature() + @property + def thickenType(self) -> ThickenTypes: + """ + Gets and sets the thicken type for the thicken. + + 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 ThickenTypes() + @thickenType.setter + def thickenType(self, value: ThickenTypes): + """ + Gets and sets the thicken type for the thicken. + + 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 SplitFaceFeature(Feature): +class ThreadFeature(Feature): """ - Object that represents an existing split face feature in a design. + Object that represents an existing thread feature in a design. The creation of a tapped + hole also results in the creation of a thread feature. There are some limitation when the + thread feature is associated with a hole, which are described in the documentation for the + property or method where the limitation exists. """ def __init__(self): pass @staticmethod - def cast(arg) -> SplitFaceFeature: - return SplitFaceFeature() - def setSplittingTool(self, splittingTool: core.Base, isSplittingToolExtended: bool) -> bool: + def cast(arg) -> ThreadFeature: + return ThreadFeature() + def setThreadOffsetLength(self, threadOffset: core.ValueInput, threadLength: core.ValueInput, threadLocation: ThreadLocations) -> bool: """ - Sets the splitting tool used for the feature. + Sets the thread offset, length and location. + Calling this method will cause the isFullLength property to be set to false. 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. + threadOffset : A ValueInput object that defines the thread offset. + threadLength : A ValueInput object that defines the thread length. + threadLocation : Indicates where the thread length is measured from. Returns true if successful. """ return bool() - def createForAssemblyContext(self, occurrence: Occurrence) -> SplitFaceFeature: + def createForAssemblyContext(self, occurrence: Occurrence) -> ThreadFeature: """ 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. + Returns the proxy object or null if this isn't the NativeObject. """ - return SplitFaceFeature() - def setAsSurfaceIntersectionSplitType(self, splittingTool: core.Base, isSplittingToolExtended: bool) -> bool: + return ThreadFeature() + @property + def inputCylindricalFace(self) -> BRepFace: """ - Set the split type to be a surface to surface intersection. If the split tool is a curve - it will be extruded into a surface to use in the split. If it's a surface, the surface will - be used and optionally extended to fully intersect the faces to be split. + Gets and sets the threaded face. In the case where there are multiple faces, only the first one is returned. + Setting this results in a thread being applied to only a single face. + It is recommended that you use the inputCylindricalfaces property in order to have full access to the collection of faces + to be threaded. - To use this method, you need to position the timeline marker to immediately before this feature. + 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) - splittingTool : Input entity(s) that defines the splitting tool. The splitting tool can be a single entity or an ObjectCollection - containing solid and/or open bodies, construction planes, faces, or sketch curves that partially or fully intersect - the faces that are being split. - isSplittingToolExtended : Specifies if the splitting tool should be extended so that is fully intersects the faces to be split. - Returns true is setting the split type was successful. + + If the thread feature is associated with a hole (the hole property is not null), this property will + always return null and will fail if set. """ - return bool() - def setAsAlongVectorSplitType(self, splittingTool: core.Base, directionEntity: core.Base) -> bool: + return BRepFace() + @inputCylindricalFace.setter + def inputCylindricalFace(self, value: BRepFace): """ - Sets the split type to project the splitting tool along the direction defined by the - specified entity. + Gets and sets the threaded face. In the case where there are multiple faces, only the first one is returned. + Setting this results in a thread being applied to only a single face. + It is recommended that you use the inputCylindricalfaces property in order to have full access to the collection of faces + to be threaded. - To use this method, you need to position the timeline marker to immediately before this feature. + 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) - splittingTool : Input entity(s) that defines the splitting tool. The splitting tool can be a single entity or an ObjectCollection - containing faces or sketch curves. If faces are input, the edges of the face are used as the splitting tool. - directionEntity : An entity that defines the direction of projection of the splitting tool. This can be - a linear BRepEdge, SketchLine, ConstructionLine, or a planar face where the face - normal is used. - Returns true is setting the split type was successful. + + If the thread feature is associated with a hole (the hole property is not null), this property will + always return null and will fail if set. """ - return bool() - def setAsClosestPointSplitType(self, splittingTool: core.Base) -> bool: + pass + @property + def isModeled(self) -> bool: """ - Sets the split type to be a curve that defined by projecting the splitting curve to the - closest point on the surface. + Gets and sets if the thread is physical or cosmetic thread. A value of true indicates a physical thread. + It defaults to false. - To use this method, you need to position the timeline marker to immediately before this feature. + 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) - splittingTool : Input entity(s) that defines the splitting tool. The splitting tool can be a single entity or an ObjectCollection - containing faces or sketch curves. If faces are input, the edges of the face are used as the splitting tool. - Returns true if setting the closest point split type was successful. """ return bool() - @property - def facesToSplit(self) -> core.ObjectCollection: + @isModeled.setter + def isModeled(self, value: bool): """ - Gets and sets the faces to be split. - The collection can contain one or more faces selected from solid and/or open bodies. + Gets and sets if the thread is physical or cosmetic thread. A value of true indicates a physical thread. + It defaults to false. - To use this property, you need to position the timeline marker to immediately before this feature. + 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.ObjectCollection() - @facesToSplit.setter - def facesToSplit(self, value: core.ObjectCollection): + pass + @property + def isFullLength(self) -> bool: """ - Gets and sets the faces to be split. - The collection can contain one or more faces selected from solid and/or open bodies. + Gets and sets if this thread is the full length of the cylinder. + It only can be set to true. - To use this property, you need to position the timeline marker to immediately before this feature. + 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 splittingTool(self) -> core.ObjectCollection: + return bool() + @isFullLength.setter + def isFullLength(self, value: bool): """ - Gets the entity(s) that define the splitting tool(s). The splitting tool can consist of one or more of - the following: BRepBody, ConstructionPlane, BRepFace, sketch curve that extends or can - be extended beyond the extents of the face. To set the splitting tool, use one of the set methods to - also define the split type. + Gets and sets if this thread is the full length of the cylinder. + It only can be set to true. - To use this property, you need to position the timeline marker to immediately before this feature. + 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.ObjectCollection() + pass @property - def isSplittingToolExtended(self) -> bool: + def threadLength(self) -> ModelParameter: """ - Gets whether or not the setting to automatically extend the splittingTool was set when the feature was created. - - This property is valid only when the splitType property returns surfaceIntersectionSplitType. + Gets the parameter that controls the depth of the thread. + Even though the parameter for the thread depth is always created and accessible through this property, + it is only used in the case where the isFullLength property is false. + Returns nothing in the case where the feature is non-parametric. """ - return bool() + return ModelParameter() @property - def nativeObject(self) -> SplitFaceFeature: + def threadOffset(self) -> ModelParameter: """ - 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 the parameter that controls the offset value of the thread. + The offset is the distance along the axis of the cylinder from the edge to the start of the thread, + it is only used in the case where the isFullLength property is false. + Returns nothing in the case where the feature is non-parametric. """ - return SplitFaceFeature() + return ModelParameter() @property - def directionEntity(self) -> core.Base: + def threadLocation(self) -> ThreadLocations: """ - Gets the direction entity when the split type is along a vector. If the split type - is not alongVectorSplitType this property will return null. + Gets and sets where the thread length is measured from. + This property is only used in the case where the isFullLength property is false. - To set the direction entity use the setAsAlongVectorSplitType method. + 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) + + If the thread feature is associated with a hole (the hole property is not null), this property will + always return null and will always return LowEndThreadLocation and will fail if set. """ - return core.Base() - @property - def splitType(self) -> SplitFaceSplitTypes: + return ThreadLocations() + @threadLocation.setter + def threadLocation(self, value: ThreadLocations): """ - Returns the type of split type currently defined. To change the split type, use - one of the set methods. + Gets and sets where the thread length is measured from. + This property is only used in the case where the isFullLength property is false. + + 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) + + If the thread feature is associated with a hole (the hole property is not null), this property will + always return null and will always return LowEndThreadLocation and will fail if set. """ - return SplitFaceSplitTypes() - -class STEPExportOptions(ExportOptions): - """ - Defines that a STEP export is to be done and specifies the various options. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> STEPExportOptions: - return STEPExportOptions() - -class StitchFeature(Feature): - """ - Object that represents an existing stitch feature in a design. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> StitchFeature: - return StitchFeature() - def createForAssemblyContext(self, occurrence: Occurrence) -> StitchFeature: + @property + def threadInfo(self) -> ThreadInfo: """ - 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. + Gets and sets the thread data. + Also can edit the thread through the properties and methods on the ThreadInfo object. + + 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 StitchFeature() + return ThreadInfo() + @threadInfo.setter + def threadInfo(self, value: ThreadInfo): + """ + Gets and sets the thread data. + Also can edit the thread through the properties and methods on the ThreadInfo object. + + 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 stitchSurfaces(self) -> core.ObjectCollection: + def isRightHanded(self) -> bool: """ - Gets and sets the surfaces to stitch together. In some cases the stitch operation results in - faces being merged so the original faces are no longer available after the feature is created. - in this case you need to reposition the timeline marker to just before this feature - when the faces do exist. + Gets and sets if the thread is right or left-handed thread. A value of true indicates a right-handed thread. + It defaults to true. - To use this property, you need to position the timeline marker to immediately before this feature. + 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.ObjectCollection() - @stitchSurfaces.setter - def stitchSurfaces(self, value: core.ObjectCollection): + return bool() + @isRightHanded.setter + def isRightHanded(self, value: bool): """ - Gets and sets the surfaces to stitch together. In some cases the stitch operation results in - faces being merged so the original faces are no longer available after the feature is created. - in this case you need to reposition the timeline marker to just before this feature - when the faces do exist. + Gets and sets if the thread is right or left-handed thread. A value of true indicates a right-handed thread. + It defaults to true. - To use this property, you need to position the timeline marker to immediately before this feature. + 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 tolerance(self) -> ModelParameter: + def nativeObject(self) -> ThreadFeature: """ - Returns the parameter controlling the tolerance. You can edit the tolerance - by editing the value of the parameter object. + 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 ModelParameter() + return ThreadFeature() @property - def operation(self) -> FeatureOperations: + def inputCylindricalFaces(self) -> core.ObjectCollection: """ - Gets and sets the feature operation to perform. This property value is ignored if the stitched result does not - form a solid body. + Gets and sets the cylindrical input faces. - To set this property, you need to position the timeline marker to immediately before this feature. + 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) + + If the thread feature is associated with a hole (the hole property is not null), this property will + always return null and will fail if set. """ - return FeatureOperations() - @operation.setter - def operation(self, value: FeatureOperations): + return core.ObjectCollection() + @inputCylindricalFaces.setter + def inputCylindricalFaces(self, value: core.ObjectCollection): """ - Gets and sets the feature operation to perform. This property value is ignored if the stitched result does not - form a solid body. + Gets and sets the cylindrical input faces. - To set this property, you need to position the timeline marker to immediately before this feature. + 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) + + If the thread feature is associated with a hole (the hole property is not null), this property will + always return null and will fail if set. """ pass @property - def nativeObject(self) -> StitchFeature: + def hole(self) -> HoleFeature: """ - 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. + If this thread feature is was created as the result of creating a tapped hole, this + property will return the associated hole feature. If this is a standard thread feature, + this property will return null. """ - return StitchFeature() + return HoleFeature() -class STLExportOptions(ExportOptions): +class ThroughAllExtentDefinition(ExtentDefinition): """ - Defines that a STL export is to be done and specifies the various options. + A definition object that is used to define the extents of a feature to be through all. """ def __init__(self): pass @staticmethod - def cast(arg) -> STLExportOptions: - return STLExportOptions() + def cast(arg) -> ThroughAllExtentDefinition: + return ThroughAllExtentDefinition() + @staticmethod + def create() -> ThroughAllExtentDefinition: + """ + Statically creates a new ThroughAllExtentDefinition object. This is used as input when + defining the extents of a feature to be through all. + Returns the newly created ThroughAllExtentDefinition or null in the case of a failure. + """ + return ThroughAllExtentDefinition() @property - def isBinaryFormat(self) -> bool: + def isPositiveDirection(self) -> bool: """ - Indicates if the STL file is to be an ASCII or binary STL format. The default is true. + Gets and sets if the direction is positive or negative. A value of true indicates it is + in the same direction as the z direction of the profile's sketch plane. + + This is only used when the extrusion is only defined in a single direction from the + profile plane. If it's a two sided extrusion, this value is ignored. """ return bool() - @isBinaryFormat.setter - def isBinaryFormat(self, value: bool): + @isPositiveDirection.setter + def isPositiveDirection(self, value: bool): """ - Indicates if the STL file is to be an ASCII or binary STL format. The default is true. + Gets and sets if the direction is positive or negative. A value of true indicates it is + in the same direction as the z direction of the profile's sketch plane. + + This is only used when the extrusion is only defined in a single direction from the + profile plane. If it's a two sided extrusion, this value is ignored. """ pass - @property - def isOneFilePerBody(self) -> bool: + +class TimelineGroup(TimelineObject): + """ + Represents a group in the timeline. + """ + def __init__(self): + pass + @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: """ - 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. + Deletes the group with the option of deleting or keeping the contents. + deleteGroupAndContents : Indicates if the group and its contents should be deleted or if only the group + should be deleted and the contents kept and expanded. A value of true will delete + the group and its contents. + Returns true if the delete was successful. """ return bool() - @isOneFilePerBody.setter - def isOneFilePerBody(self, value: bool): + def item(self, index: int) -> TimelineObject: """ - 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. + Function that returns the specified timeline object within the group 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. """ - pass + return TimelineObject() @property - def meshRefinement(self) -> MeshRefinementSettings: + def isCollapsed(self) -> bool: """ - 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 + Indicates if the group is collapsed or expanded. """ - return MeshRefinementSettings() - @meshRefinement.setter - def meshRefinement(self, value: MeshRefinementSettings): + return bool() + @isCollapsed.setter + def isCollapsed(self, value: bool): """ - 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 + Indicates if the group is collapsed or expanded. """ pass @property - def surfaceDeviation(self) -> float: + def count(self) -> int: """ - 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. + The number of items in the group. """ - return float() - @surfaceDeviation.setter - def surfaceDeviation(self, value: float): + return int() + +class ToEntityExtentDefinition(ExtentDefinition): + """ + A definition object that is used to define the extents of a feature to be up to a specified + construction plane or face. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ToEntityExtentDefinition: + return ToEntityExtentDefinition() + @staticmethod + def create(entity: core.Base, isChained: bool, offset: core.ValueInput = None) -> ToEntityExtentDefinition: """ - 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. + 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. + entity : The construction plane or face that the feature extent it up to. + isChained : + offset : A optional input value that defines an offset distance of the entity that will be used + for the extent. Positive and negative values can be used to offset in both directions. + If this argument is not provided a value of zero will be used. + Returns the newly created ToEntityExtentDefinition object or null if the creation failed. """ - pass + return ToEntityExtentDefinition() @property - def normalDeviation(self) -> float: + def entity(self) -> core.Base: """ - 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. + Gets and sets the entity that the feature extent is defined up to. This can be a ConstructionPlane, Profile, BrepFace, + BrepBody, or BRepVertex. """ - return float() - @normalDeviation.setter - def normalDeviation(self, value: float): + return core.Base() + @entity.setter + def entity(self, value: core.Base): """ - 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. + Gets and sets the entity that the feature extent is defined up to. This can be a ConstructionPlane, Profile, BrepFace, + BrepBody, or BRepVertex. """ 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): + def offset(self) -> core.Base: """ - 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. + Returns the current offset. If the EntityExtentDefinition object has been created statically and isn't associated with + a feature this will return a ValueInput object. If the EntityExtentDefinition object is obtained from a feature this + will return a ModelParameter object. You can use properties of the parameter to edit its value which will result in + the feature updating. """ - pass + return core.Base() @property - def aspectRatio(self) -> float: + def isChained(self) -> bool: """ - 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. + Gets and sets whether connected faces to the input entity should also be used when calculating the extent or if the + input entity should be extended. A value of true indicates that connected entities should be used. """ - return float() - @aspectRatio.setter - def aspectRatio(self, value: float): + return bool() + @isChained.setter + def isChained(self, value: bool): """ - 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. + Gets and sets whether connected faces to the input entity should also be used when calculating the extent or if the + input entity should be extended. A value of true indicates that connected entities should be used. """ 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 STL file in. - """ - return [str()] - @property - def printUtility(self) -> str: + def directionHint(self) -> core.Vector3D: """ - Specifies which print utility to use when opening the STL 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 know 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. + Gets and sets a direction that is used when the result is ambiguous. For example, if you have a profile in + the center of a torus and are extruding to the torus, the extrusion can go in either direction. When needed, + this provides the information to tell Fusion which direction to go. In most cases this is not needed and + the property will be null. """ - return str() - @printUtility.setter - def printUtility(self, value: str): + return core.Vector3D() + @directionHint.setter + def directionHint(self, value: core.Vector3D): """ - Specifies which print utility to use when opening the STL 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 know 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. + Gets and sets a direction that is used when the result is ambiguous. For example, if you have a profile in + the center of a torus and are extruding to the torus, the extrusion can go in either direction. When needed, + this provides the information to tell Fusion which direction to go. In most cases this is not needed and + the property will be null. """ pass @property - def sendToPrintUtility(self) -> bool: + def isMinimumSolution(self) -> bool: """ - Gets and sets whether the created STL file will be sent to the print utility specified by the printUtility property. If this - is false a filename must be defined. + Gets and sets if the minimum or maximum solution is calculated. This is only used when the input entity is + a body and defines if the extrusion to go to the near side (minimum solution) of the body or the far side. + When a new ToEntityExtentDefinition object is created, this property defaults to True. """ return bool() - @sendToPrintUtility.setter - def sendToPrintUtility(self, value: bool): + @isMinimumSolution.setter + def isMinimumSolution(self, value: bool): """ - Gets and sets whether the created STL file will be sent to the print utility specified by the printUtility property. If this - is false a filename must be defined. + Gets and sets if the minimum or maximum solution is calculated. This is only used when the input entity is + a body and defines if the extrusion to go to the near side (minimum solution) of the body or the far side. + When a new ToEntityExtentDefinition object is created, this property defaults to True. """ pass -class SurfaceDeleteFaceFeature(Feature): +class TorusFeature(Feature): """ - Object that represents an existing Surface Delete Face feature in a design. - - The SurfaceDeleteFaceFeature and DeleteFaceFeature differ in that the SurfaceDeleteFaceFeature - can delete any face without any restrictions. If the body is a solid, it will become a surface - when the first face is deleted. The specified face is deleted without any other changes being - made to the body. The DeleteFaceFeature deletes the specified face and also modifies the other faces - in the body to heal or fill in the area of the deleted face. This means that a solid body will - remain solid. + Object that represents an existing torus feature in a design. """ def __init__(self): pass @staticmethod - def cast(arg) -> SurfaceDeleteFaceFeature: - return SurfaceDeleteFaceFeature() - def createForAssemblyContext(self, occurrence: Occurrence) -> SurfaceDeleteFaceFeature: + def cast(arg) -> TorusFeature: + return TorusFeature() + +class TrimFeature(Feature): + """ + Object that represents an existing trim feature in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> TrimFeature: + return TrimFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> TrimFeature: """ 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. + Returns the proxy object or null if this isn't the NativeObject. """ - return SurfaceDeleteFaceFeature() + return TrimFeature() + def applyCellChanges(self) -> bool: + """ + After making any changes to the set of selected cells you must call this method to + indicate all changes have been made and to apply those changes to the feature. + Returns true if the apply was successful. + """ + return bool() @property - def deletedFaces(self) -> list[BRepFace]: + def trimTool(self) -> core.Base: """ - Gets and sets the set of faces that are deleted by this feature. + Gets and sets the entity (a patch body, B-Rep face, construction plane or sketch curve) that intersects the trim tool. 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 [BRepFace()] - @deletedFaces.setter - def deletedFaces(self, value: list[BRepFace]): + return core.Base() + @trimTool.setter + def trimTool(self, value: core.Base): """ - Gets and sets the set of faces that are deleted by this feature. + Gets and sets the entity (a patch body, B-Rep face, construction plane or sketch curve) that intersects the trim tool. 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 nativeObject(self) -> SurfaceDeleteFaceFeature: + def bRepCells(self) -> BRepCells: + """ + Gets the set of valid cells that have been calculated based on the current inputs. + To get this collection the model must be in the state it was when the feature + was initially computed, which means the timeline marker must be positioned to immediately + before this feature. + + After changing any selected cells you must call the applyCellChanges method to update + the feature with the changes. + """ + return BRepCells() + @property + 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. """ - return SurfaceDeleteFaceFeature() + return TrimFeature() -class SweepFeature(Feature): +class TwoDistancesChamferEdgeSet(ChamferEdgeSet): """ - Object that represents an existing sweep feature in a design. + Provides access to the edges and the parameters associated with a two distances chamfer. """ def __init__(self): pass @staticmethod - def cast(arg) -> SweepFeature: - return SweepFeature() - def createForAssemblyContext(self, occurrence: Occurrence) -> SweepFeature: - """ - 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 SweepFeature() + def cast(arg) -> TwoDistancesChamferEdgeSet: + return TwoDistancesChamferEdgeSet() @property - def profile(self) -> core.Base: + def edges(self) -> core.ObjectCollection: """ - Gets and sets the profiles or planar faces used to define the shape of the sweep. - This property can return or be set with a single Profile, a single planar face, or - an ObjectCollection consisting of multiple profiles and planar faces. When an - ObjectCollection is used all of the profiles and faces must be co-planar. - This property returns nothing in the case where the feature is non-parametric. + Gets and sets the edges that will be chamfered. This collection can contain BRepEdge, BRepFace, + and Feature objects. If BRepFace or Feature are objects are provided, all of the edges associated + with those objects will be chamfered. - To set this property, you need to position the timeline marker to immediately before this feature. + 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() - @profile.setter - def profile(self, value: core.Base): + return core.ObjectCollection() + @edges.setter + def edges(self, value: core.ObjectCollection): """ - Gets and sets the profiles or planar faces used to define the shape of the sweep. - This property can return or be set with a single Profile, a single planar face, or - an ObjectCollection consisting of multiple profiles and planar faces. When an - ObjectCollection is used all of the profiles and faces must be co-planar. - This property returns nothing in the case where the feature is non-parametric. + Gets and sets the edges that will be chamfered. This collection can contain BRepEdge, BRepFace, + and Feature objects. If BRepFace or Feature are objects are provided, all of the edges associated + with those objects will be chamfered. - To set this property, you need to position the timeline marker to immediately before this feature. + 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 operation(self) -> FeatureOperations: + def distanceOne(self) -> ModelParameter: """ - Gets and sets the type of operation performed by the sweep. + Returns the model parameter that controls the first offset distance of the chamfer. + You can edit the distance by using the properties on the returned ModelParameter object. """ - return FeatureOperations() - @operation.setter - def operation(self, value: FeatureOperations): + return ModelParameter() + @property + def distanceTwo(self) -> ModelParameter: """ - Gets and sets the type of operation performed by the sweep. + Returns the model parameter that controls the first offset distance of the chamfer. + You can edit the distance by using the properties on the returned ModelParameter object. """ - pass + return ModelParameter() @property - def path(self) -> Path: + def isFlipped(self) -> bool: """ - Gets and sets the path to create the sweep. - This property returns nothing in the case where the feature is non-parametric. + Gets and sets if the chamfer is flipped. This swaps the directions for distance one and two. 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): + return bool() + @isFlipped.setter + def isFlipped(self, value: bool): """ - Gets and sets the path to create the sweep. - This property returns nothing in the case where the feature is non-parametric. + Gets and sets if the chamfer is flipped. This swaps the directions for distance one and two. 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 TwoSidesAngleExtentDefinition(ExtentDefinition): + """ + Defines the inputs for a TwoSidesAngleExtentDefinition object. + This feature extent type defines the extents of the feature using angle extents on two sides. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> TwoSidesAngleExtentDefinition: + return TwoSidesAngleExtentDefinition() @property - def distanceOne(self) -> ModelParameter: + def angleOne(self) -> ModelParameter: """ - Gets the distance for the first side. - This property returns nothing in the case where the feature is non-parametric. + Gets the ModelParameter that defines the angle on the first side. + The value of the angle can be edited by using the properties on the ModelParameter object to edit the parameter. """ return ModelParameter() @property - def distanceTwo(self) -> ModelParameter: + def angleTwo(self) -> ModelParameter: """ - Gets the distance for the second side. - Returns nothing if the path is only on one side of the profile or if the sweep definition includes a guide rail. - It's always the distance against the normal of the profile if available. - This property returns nothing in the case where the feature is non-parametric. + Gets the ModelParameter that defines the angle on the second side. + The value of the angle can be edited by using the properties on the ModelParameter object to edit the parameter. + """ + return ModelParameter() + +class UnfoldFeature(Feature): + """ + Object that represents an existing unfold feature in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> UnfoldFeature: + return UnfoldFeature() + +class UnstitchFeature(Feature): + """ + Object that represents an existing Unstitch feature in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> UnstitchFeature: + return UnstitchFeature() + def setInputFaces(self, faces: core.ObjectCollection, isChainSelection: bool = True) -> bool: + """ + 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) + faces : The faces and/or bodies to Unstitch. Individual faces can be unstitched from solids and/or patch bodies. + The faces being unstitched need not all come from the same body. + isChainSelection : A boolean value for setting whether or not faces that are connected and adjacent to + the input faces will be included in the selection. The default value is true. + Returns true if successful. + """ + return bool() + def createForAssemblyContext(self, occurrence: Occurrence) -> UnstitchFeature: + """ + 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 UnstitchFeature() + @property + def inputFaces(self) -> core.ObjectCollection: + """ + Gets the faces that were input to be unstitched. + + 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() + @property + def isChainSelection(self) -> bool: + """ + A boolean value for setting whether or not faces that are connected and adjacent to + the input faces will be included in the selection. The default value is true. + """ + return bool() + @property + def nativeObject(self) -> UnstitchFeature: + """ + 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 UnstitchFeature() + +class UntrimFeature(Feature): + """ + Object that represents an existing Untrim feature in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> UntrimFeature: + return UntrimFeature() + def redefineLoopsFromFaces(self, faces: list[BRepFace], untrimLoopType: UntrimLoopTypes) -> bool: + """ + Set the loops to be removed from a set of faces. + faces : An array of BRepFace objects that will have the loops of the specified types removed. + Only loops that do not have a connected face can be removed (the edges in the loop have a single face). + The array can only contain faces from surface bodies, (the isSolid property of the BRepBody returns false). + untrimLoopType : The loop type to be untrimmed (AllLoopUntrimType, InternalLoopUntrimType, or ExternalLoopUntrimType). + Returns whether the operation was successful + """ + return bool() + def redefineLoops(self, loops: list[BRepLoop]) -> bool: + """ + Set the loops to be removed. + loops : Input the entities that define loops to remove. + Only loops that do not have a connected face can be removed (the edges in the loop have a single face) + The array can only contain loops from surface bodies, (the isSolid property of the BRepBody returns false). + Returns whether the operation was successful """ - return ModelParameter() - @property - def orientation(self) -> SweepOrientationTypes: + return bool() + def createForAssemblyContext(self, occurrence: Occurrence) -> UntrimFeature: """ - Gets and sets the sweep orientation. It defaults to PerpendicularOrientationType. - - 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) + 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 SweepOrientationTypes() - @orientation.setter - def orientation(self, value: SweepOrientationTypes): + return UntrimFeature() + @property + def untrimLoopType(self) -> UntrimLoopTypes: """ - Gets and sets the sweep orientation. It defaults to PerpendicularOrientationType. - - 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) + Gets the loop type that was untrimmed. To change the trim type, use one of the redefine methods. """ - pass + return UntrimLoopTypes() @property - def startFaces(self) -> BRepFaces: + def facesToUntrim(self) -> list[BRepFace]: """ - Property that returns the set of that cap one end of the sweep that are coincident with the sketch plane. - In the cases where there aren't any start faces this property will return Nothing. + Gets the face objects to untrim. + Returns null/None in the case where loops are specified instead of faces. """ - return BRepFaces() + return [BRepFace()] @property - def endFaces(self) -> BRepFaces: + def loopsToUntrim(self) -> list[BRepLoop]: """ - Property that returns the set of that cap one end of the sweep 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 revolution 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 Nothing. + Gets the loop objects to untrim. + Returns null/None in the case where faces are specified instead of loops """ - return BRepFaces() + return [BRepLoop()] @property - def sideFaces(self) -> BRepFaces: + def extensionDistance(self) -> ModelParameter: """ - Property that returns a object that provides access to all of the faces created around the perimeter of the feature. + Gets the ModelParameter that defines the extension distance used to extend external boundaries. + This can return null in the case where only internal boundaries have been removed. + The value can be edited by using the properties of the returned ModelParameter object. """ - return BRepFaces() + return ModelParameter() @property - def nativeObject(self) -> SweepFeature: + 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 SweepFeature() - @property - def isSolid(self) -> bool: + 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. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> UserParameter: + return UserParameter() + def deleteMe(self) -> bool: """ - Indicates if this feature was initially created as a solid or a surface. + Deletes the user parameter + A parameter can only be deleted if it is a UserParameter and + it is not referenced by other parameters. + Returns a bool indicating if the delete was successful or not. + Bug!!! Currently returning true if the parameter can't be deleted because it is + being referenced by other parameters. """ return bool() @property - def guideRail(self) -> Path: - """ - Gets and sets the guide rail to create the sweep. This can be set to null - to have a path only sweep. - - 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 Path() - @guideRail.setter - def guideRail(self, value: Path): + def userParameters(self) -> UserParameters: """ - Gets and sets the guide rail to create the sweep. This can be set to null - to have a path only sweep. - - 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 the Collection containing the UserParameter. """ - pass + return UserParameters() @property - def isDirectionFlipped(self) -> bool: - """ - Gets and sets if the direction of the sweep is flipped. - This property only applies to sweep features that include a guide rail and whose path runs on both - sides of the profile. - - 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() - @isDirectionFlipped.setter - def isDirectionFlipped(self, value: bool): + def design(self) -> Design: """ - Gets and sets if the direction of the sweep is flipped. - This property only applies to sweep features that include a guide rail and whose path runs on both - sides of the profile. - - 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) + Returns the Design containing the UserParameter. """ + return Design() + +class VariableRadiusFilletEdgeSet(FilletEdgeSet): + """ + Provides access to the edges and the parameters associated with a variable radius fillet. + """ + def __init__(self): pass - @property - def profileScaling(self) -> SweepProfileScalingOptions: + @staticmethod + def cast(arg) -> VariableRadiusFilletEdgeSet: + return VariableRadiusFilletEdgeSet() + def addMidPosition(self, position: core.ValueInput, radius: core.ValueInput) -> bool: """ - Gets and sets the sweep profile scaling option. It defaults to SweepProfileScaleOption. This - property is only used when a guide rail has been specified. + Creates a new mid position radius on the variable radius edge set. - To set this property, you need to position the timeline marker to immediately before this 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) + position : The position where the new radius is to be created. This is a value between 0 and 1 where 0 is at the start of the + edge and 1 is at the end. If the ValueInput uses a real then it is interpreted as a unitless value. If it is a string + then it must resolve to a unitless value. + radius : A ValueInput object that defines the radius at the defined position. 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 successful. """ - return SweepProfileScalingOptions() - @profileScaling.setter - def profileScaling(self, value: SweepProfileScalingOptions): + return bool() + def deleteMidPosition(self, positionIndex: int) -> bool: """ - Gets and sets the sweep profile scaling option. It defaults to SweepProfileScaleOption. This - property is only used when a guide rail has been specified. + Deletes the specified mid position from the variable radius fillet. - To set this property, you need to position the timeline marker to immediately before this 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) + positionIndex : The index of the mid position to delete. The points are in the order they appear along the edge + where the first point has an index of 0. The number of mid positions and their locations can be + obtained by getting the list of mid positions using the midPositions property. + Returns true if successful. """ - pass + return bool() @property - def participantBodies(self) -> list[BRepBody]: + def edges(self) -> core.ObjectCollection: """ - Gets and sets the list of bodies that will participate in the feature when the operation is a cut or intersection. + 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) """ - return [BRepBody()] - @participantBodies.setter - def participantBodies(self, value: list[BRepBody]): + return core.ObjectCollection() + @edges.setter + def edges(self, value: core.ObjectCollection): """ - Gets and sets the list of bodies that will participate in the feature when the operation is a cut or intersection. + 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) """ pass @property - def taperAngle(self) -> ModelParameter: + def startRadius(self) -> ModelParameter: """ - Gets the ModelParameter that defines the taper angle of the sweep feature. - The value of the angle can be edited by using the properties on the ModelParameter object to edit the parameter. + Returns the model parameter that controls the start radius of the fillet. You can edit + the start radius by using the properties on the returned ModelParameter object. """ return ModelParameter() @property - def twistAngle(self) -> ModelParameter: + def endRadius(self) -> ModelParameter: """ - Gets the ModelParameter that defines the twist angle of the sweep feature. - The value of the angle can be edited by using the properties on the ModelParameter object to edit the parameter. + Returns the model parameter that controls the end radius of the fillet. You can edit + the end radius by using the properties on the returned ModelParameter object. """ return ModelParameter() @property - def extent(self) -> SweepExtentTypes: + def midRadii(self) -> ParameterList: """ - Gets and sets the sweep extent type. It defaults to PerpendicularToPathExtentType. - This property is ignored when a guide rail has not been specified. + Returns a list of model parameters that control radius of the fillet at each position defined along the edge set. + You can edit any of these radii by using the properties on its returned ModelParameter object. This list does + not include the parameters for the start and end radii. Use the startRadius and endRadius properties to get those. """ - return SweepExtentTypes() - @extent.setter - def extent(self, value: SweepExtentTypes): + return ParameterList() + @property + def midPositions(self) -> ParameterList: """ - Gets and sets the sweep extent type. It defaults to PerpendicularToPathExtentType. - This property is ignored when a guide rail has not been specified. + Returns a list of model parameters that control the location of each mid point radius. These positions are defined + from 0 to 1 where 0 is at the start of the edge and 1 is at the end. You can edit any of these positions by + using the properties on its returned ModelParameter object. """ - pass + return ParameterList() -class SymmetricExtentDefinition(ExtentDefinition): +class VariableRadiusFilletEdgeSetInput(FilletEdgeSetInput): """ - A definition object that is used to define the extents of a feature to be symmetric. + Provides access to the edges and the parameters associated with a variable radius fillet. """ def __init__(self): pass @staticmethod - def cast(arg) -> SymmetricExtentDefinition: - return SymmetricExtentDefinition() - @staticmethod - def create(distance: core.ValueInput, isFullLength: bool) -> SymmetricExtentDefinition: + def cast(arg) -> VariableRadiusFilletEdgeSetInput: + return VariableRadiusFilletEdgeSetInput() + def setMidRadii(self, radii: list[core.ValueInput], positions: list[core.ValueInput]) -> bool: """ - Statically creates a new SymmetricExtentDefinition object. This is used as input when - create a new feature and defining the starting condition. - distance : An input ValueInput objects that defines either half the extent of the extrude or the full extent, depending - on the value of the isFullLength argument. - isFullLength : An input boolean that specifies if the distance specified defines the full or half length of the extrusion. - Returns the newly created SymmetricExtentDefinition or null in the case of a failure. + 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 SymmetricExtentDefinition() + return bool() @property - def isFullLength(self) -> bool: + def startRadius(self) -> core.ValueInput: """ - Gets and sets if the distance defines the full extent length or half the length. A value of - True indicates if defines the full length. + 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 bool() - @isFullLength.setter - def isFullLength(self, value: bool): + return core.ValueInput() + @startRadius.setter + def startRadius(self, value: core.ValueInput): """ - Gets and sets if the distance defines the full extent length or half the length. A value of - True indicates if defines the full length. + 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 distance(self) -> core.Base: + def endRadius(self) -> core.ValueInput: """ - Returns the current extent distance. If the SymmetricExtentDefinition object has been created statically and isn't associated with - a feature this will return a ValueInput object. If the SymmetricExtentDefinition object is obtained from a feature this - will return a ModelParameter object. You can use properties of the parameter to edit it's value which will result in - the feature updating. + 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.Base() - @property - def taperAngle(self) -> core.Base: + return core.ValueInput() + @endRadius.setter + def endRadius(self, value: core.ValueInput): """ - Returns the current taper angle. If the SymmetricExtentDefinition object has been created statically and isn't associated with - a feature this will return a ValueInput object. If the SymmetricExtentDefinition object is obtained from a feature this - will return a ModelParameter object. You can use properties of the parameter to edit it's value which will result in - the feature updating. + 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.Base() + pass -class SymmetryConstraint(GeometricConstraint): +class VerticalConstraint(GeometricConstraint): """ - A symmetry constraint in a sketch. + A vertical constraint in a sketch. """ def __init__(self): pass @staticmethod - def cast(arg) -> SymmetryConstraint: - return SymmetryConstraint() - def createForAssemblyContext(self, occurrence: Occurrence) -> SymmetryConstraint: + def cast(arg) -> VerticalConstraint: + return VerticalConstraint() + def createForAssemblyContext(self, occurrence: Occurrence) -> VerticalConstraint: """ Creates or returns a proxy for the native object - i.e. a new object that represents this object but adds the assembly context @@ -30934,45 +52941,33 @@ def createForAssemblyContext(self, occurrence: Occurrence) -> SymmetryConstraint 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 SymmetryConstraint() - @property - def entityOne(self) -> SketchEntity: - """ - Returns the first curve. - """ - return SketchEntity() - @property - def entityTwo(self) -> SketchEntity: - """ - Returns the second curve. - """ - return SketchEntity() + return VerticalConstraint() @property - def symmetryLine(self) -> SketchLine: + def line(self) -> SketchLine: """ - Returns the axis (SketchLine) that defines the symmetry. + Returns the line being constrained. """ return SketchLine() @property - def nativeObject(self) -> SymmetryConstraint: + def nativeObject(self) -> VerticalConstraint: """ 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 SymmetryConstraint() + return VerticalConstraint() -class TangentConstraint(GeometricConstraint): +class VerticalPointsConstraint(GeometricConstraint): """ - A tangent constraint in a sketch. + A vertical constraint between two points in a sketch. """ def __init__(self): pass @staticmethod - def cast(arg) -> TangentConstraint: - return TangentConstraint() - def createForAssemblyContext(self, occurrence: Occurrence) -> TangentConstraint: + def cast(arg) -> VerticalPointsConstraint: + return VerticalPointsConstraint() + def createForAssemblyContext(self, occurrence: Occurrence) -> VerticalPointsConstraint: """ Creates or returns a proxy for the native object - i.e. a new object that represents this object but adds the assembly context @@ -30980,535 +52975,840 @@ def createForAssemblyContext(self, occurrence: Occurrence) -> TangentConstraint: 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 TangentConstraint() + return VerticalPointsConstraint() @property - def curveOne(self) -> SketchCurve: + def pointOne(self) -> SketchPoint: """ - Returns the first curve. + Returns the first point. """ - return SketchCurve() + return SketchPoint() @property - def curveTwo(self) -> SketchCurve: + def pointTwo(self) -> SketchPoint: """ - Returns the second curve. + Returns the second point. """ - return SketchCurve() + return SketchPoint() @property - def nativeObject(self) -> TangentConstraint: + def nativeObject(self) -> VerticalPointsConstraint: """ 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 TangentConstraint() + return VerticalPointsConstraint() -class ThickenFeature(Feature): +class VolumetricCustomFeature(Feature): """ - Object that represents an existing Thicken feature in a design. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Object that represents an existing volumetric custom feature in a design. """ def __init__(self): pass @staticmethod - def cast(arg) -> ThickenFeature: - return ThickenFeature() - def setInputEntities(self, inputFaces: core.ObjectCollection, isChainSelection: bool) -> bool: + def cast(arg) -> VolumetricCustomFeature: + return VolumetricCustomFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> VolumetricCustomFeature: """ - Sets the faces and patch bodies to thicken. - - 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) - inputFaces : The faces or patch bodies to thicken. Faces need not be from the same component or body, nor do they need to be - connected or touching one another. - isChainSelection : A boolean value for setting whether or not faces that are tangentially connected to - the input faces (if any) will be included in the offset. The default value is true. - Returns true if successful + 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 bool() - def createForAssemblyContext(self, occurrence: Occurrence) -> ThickenFeature: + return VolumetricCustomFeature() + @property + def volumetricModel(self) -> core.Base: + """ + Get the volumetric model object.This property is typed as core.Base because the adsk.fusion + library does not reference the volume library where the VolumetricModel object is defined. + At runtime, this property will return a VolumetricModel object. + Returns the volumetric model object. + """ + return core.Base() + @property + def nativeObject(self) -> VolumetricCustomFeature: + """ + 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 VolumetricCustomFeature() + +class VolumetricModelToMeshFeature(Feature): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Object that represents a model to mesh feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> VolumetricModelToMeshFeature: + return VolumetricModelToMeshFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> VolumetricModelToMeshFeature: """ 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. + Returns the proxy object or null if this isn't the NativeObject. """ - return ThickenFeature() + return VolumetricModelToMeshFeature() @property - def inputFaces(self) -> core.ObjectCollection: + def meshBody(self) -> MeshBody: """ - Gets and sets the ObjectCollection containing the face and/or patch bodies to thicken. + Get the mesh body created from the volumetric model. + Returns the mesh body object. + """ + return MeshBody() + @property + def volumetricModel(self) -> core.Base: + """ + Gets and sets the volumetric model to be converted to a mesh. The volumetric model must have the + same parent component as the VolumetricModelToMeshFeature.This property is typed as core.Base + because the adsk.fusion library does not reference the volume library where the VolumetricModel object + is defined. At runtime, this property will return a VolumetricModel object. - To use this property, you need to position the timeline marker to immediately before this feature. + 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.ObjectCollection() - @inputFaces.setter - def inputFaces(self, value: core.ObjectCollection): + return core.Base() + @volumetricModel.setter + def volumetricModel(self, value: core.Base): """ - Gets and sets the ObjectCollection containing the face and/or patch bodies to thicken. + Gets and sets the volumetric model to be converted to a mesh. The volumetric model must have the + same parent component as the VolumetricModelToMeshFeature.This property is typed as core.Base + because the adsk.fusion library does not reference the volume library where the VolumetricModel object + is defined. At runtime, this property will return a VolumetricModel object. - To use this property, you need to position the timeline marker to immediately before this feature. + 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 thickness(self) -> ModelParameter: + def refinementType(self) -> VolumetricMeshRefinementTypes: """ - Returns the parameter controlling the thickness. You can edit the thickness value - by editing the value of the parameter object. + Gets and sets the refinement type to be used when creating the mesh. + + 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 ModelParameter() - @property - def isSymmetric(self) -> bool: + return VolumetricMeshRefinementTypes() + @refinementType.setter + def refinementType(self, value: VolumetricMeshRefinementTypes): """ - Gets and sets whether to add thickness symmetrically or only on one side of the face/s to thicken. + Gets and sets the refinement type to be used when creating the mesh. 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() - @isSymmetric.setter - def isSymmetric(self, value: bool): + pass + @property + def elementSize(self) -> ModelParameter: """ - Gets and sets whether to add thickness symmetrically or only on one side of the face/s to thicken. + Gets the element size that will be used when creating the mesh. This value is only used when the + refinement type is set to Custom. The value must be greater than 0. 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 + return ModelParameter() @property - def operation(self) -> FeatureOperations: + def meshingApproach(self) -> VolumetricMeshingApproachTypes: """ - Gets and sets the feature operation to perform. + Gets and sets the meshing approach to be used when creating the mesh. - To use this property, you need to position the timeline marker to immediately before this feature. + 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 FeatureOperations() - @operation.setter - def operation(self, value: FeatureOperations): + return VolumetricMeshingApproachTypes() + @meshingApproach.setter + def meshingApproach(self, value: VolumetricMeshingApproachTypes): """ - Gets and sets the feature operation to perform. + Gets and sets the meshing approach to be used when creating the mesh. - To use this property, you need to position the timeline marker to immediately before this feature. + 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 isChainSelection(self) -> bool: + def isVolumetricModelRemoved(self) -> bool: """ - Get and sets whether faces that are tangentially connected to the input faces will be included in the thicken feature. + Gets and sets if the volumetric model should be removed after creating the mesh. + + 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() - @property - def nativeObject(self) -> ThickenFeature: + @isVolumetricModelRemoved.setter + def isVolumetricModelRemoved(self, value: bool): """ - 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 if the volumetric model should be removed after creating the mesh. + + 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 ThickenFeature() - -class ThreadFeature(Feature): - """ - Object that represents an existing thread feature in a design. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> ThreadFeature: - return ThreadFeature() - def setThreadOffsetLength(self, threadOffset: core.ValueInput, threadLength: core.ValueInput, threadLocation: ThreadLocations) -> bool: + @property + def isSmallShellsRemoved(self) -> bool: """ - Sets the thread offset, length and location. - Calling this method will cause the isFullLength property to be set to false. + Gets and sets if small mesh shells should be removed after creating the mesh. - To use this method, you need to position the timeline marker to immediately before this feature. + 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) - threadOffset : A ValueInput object that defines the thread offset. - threadLength : A ValueInput object that defines the thread length. - threadLocation : Indicates where the thread length is measured from. - Returns true if successful. """ return bool() - def createForAssemblyContext(self, occurrence: Occurrence) -> ThreadFeature: + @isSmallShellsRemoved.setter + def isSmallShellsRemoved(self, value: bool): """ - 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. + Gets and sets if small mesh shells should be removed after creating the mesh. + + 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 ThreadFeature() + pass @property - def inputCylindricalFace(self) -> BRepFace: + def smallShellThreshold(self) -> ModelParameter: """ - Gets and sets the threaded face. In the case where there are multiple faces, only the first one is returned. - Setting this results in a thread being applied to only a single face. - It is recommended that you use the inputCylindricalfaces property in order to have full access to the collection of faces - to be threaded. + Gets the small mesh threshold used to determine if a mesh shell is considered small. + The value is a fraction of the total mesh area and must be between 0 and 1. 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 BRepFace() - @inputCylindricalFace.setter - def inputCylindricalFace(self, value: BRepFace): + return ModelParameter() + @property + def isComputeSuspended(self) -> bool: """ - Gets and sets the threaded face. In the case where there are multiple faces, only the first one is returned. - Setting this results in a thread being applied to only a single face. - It is recommended that you use the inputCylindricalfaces property in order to have full access to the collection of faces - to be threaded. + Gets and sets if the feature compute should be suspended if a dependent entity changes. + If true, the feature will need to be recomputed manually if a dependent entity changes. + + 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() + @isComputeSuspended.setter + def isComputeSuspended(self, value: bool): + """ + Gets and sets if the feature compute should be suspended if a dependent entity changes. + If true, the feature will need to be recomputed manually if a dependent entity changes. 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 isModeled(self) -> bool: + def nativeObject(self) -> VolumetricModelToMeshFeature: + """ + 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 VolumetricModelToMeshFeature() + +class WebFeature(Feature): + """ + Object that represents an existing web feature in a design. + """ + def __init__(self): + pass + @staticmethod + 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 Arrange2DPlaneEnvelopeInput(Arrange2DEnvelopeInput): + """ + This object is used to specify the input needed to define a 2D rectangular envelope. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Arrange2DPlaneEnvelopeInput: + return Arrange2DPlaneEnvelopeInput() + @property + def plane(self) -> ConstructionPlane: + """ + Gets and sets the construction plane that will be used for this envelope. + """ + return ConstructionPlane() + @plane.setter + def plane(self, value: ConstructionPlane): + """ + Gets and sets the construction plane that will be used for this envelope. + """ + pass + @property + def length(self) -> core.ValueInput: """ - Gets and sets if the thread is physical or cosmetic thread. A value of true indicates a physical thread. - It defaults to false. + Gets and sets length of the envelope. This is the size of the envelope as measured along the X axis of the specified + construction plane. - 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) + This value will become a parameter when the arrangement is created. If the ValueInput is created using a + real number it is in centimeters. If you use a string, it is evaluated the same as a value would be in the command + dialog and uses the current document units. For example, if the document units are inch and you specific "0.25" it + will result in 1/4 inch clearance. Using a string, you can also specify the units as part of the expression, + such as "0.25 in + 2 mm". And you can define equations like "PartSize + 2 mm" where "PartSize" is an existing parameter. """ - return bool() - @isModeled.setter - def isModeled(self, value: bool): + return core.ValueInput() + @length.setter + def length(self, value: core.ValueInput): """ - Gets and sets if the thread is physical or cosmetic thread. A value of true indicates a physical thread. - It defaults to false. + Gets and sets length of the envelope. This is the size of the envelope as measured along the X axis of the specified + construction plane. - 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) + This value will become a parameter when the arrangement is created. If the ValueInput is created using a + real number it is in centimeters. If you use a string, it is evaluated the same as a value would be in the command + dialog and uses the current document units. For example, if the document units are inch and you specific "0.25" it + will result in 1/4 inch clearance. Using a string, you can also specify the units as part of the expression, + such as "0.25 in + 2 mm". And you can define equations like "PartSize + 2 mm" where "PartSize" is an existing parameter. """ pass @property - def isFullLength(self) -> bool: + def width(self) -> core.ValueInput: """ - Gets and sets if this thread is the full length of the cylinder. - It only can be set to true. + Gets and sets the width of the envelope. This is the size of the envelope as measured along the Y axis of the specified + construction plane. - 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) + This value will become a parameter when the arrangement is created. If the ValueInput is created using a + real number it is in centimeters. If you use a string, it is evaluated the same as a value would be in the command + dialog and uses the current document units. For example, if the document units are inch and you specific "0.25" it + will result in 1/4 inch clearance. Using a string, you can also specify the units as part of the expression, + such as "0.25 in + 2 mm". And you can define equations like "PartSize + 2 mm" where "PartSize" is an existing parameter. """ - return bool() - @isFullLength.setter - def isFullLength(self, value: bool): + return core.ValueInput() + @width.setter + def width(self, value: core.ValueInput): """ - Gets and sets if this thread is the full length of the cylinder. - It only can be set to true. + Gets and sets the width of the envelope. This is the size of the envelope as measured along the Y axis of the specified + construction plane. - 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) + This value will become a parameter when the arrangement is created. If the ValueInput is created using a + real number it is in centimeters. If you use a string, it is evaluated the same as a value would be in the command + dialog and uses the current document units. For example, if the document units are inch and you specific "0.25" it + will result in 1/4 inch clearance. Using a string, you can also specify the units as part of the expression, + such as "0.25 in + 2 mm". And you can define equations like "PartSize + 2 mm" where "PartSize" is an existing parameter. """ pass @property - def threadLength(self) -> ModelParameter: + def originXOffset(self) -> core.ValueInput: """ - Gets the parameter that controls the depth of the thread. - Even though the parameter for the thread depth is always created and accessible through this property, - it is only used in the case where the isFullLength property is false. - Returns nothing in the case where the feature is non-parametric. + Gets and sets the X offset of the envelope from the origin of the construction plane. This value defaults to zero. + + This value will become a parameter when the arrangement is created. If the ValueInput is created using a + real number it is in centimeters. If you use a string, it is evaluated the same as a value would be in the command + dialog and uses the current document units. For example, if the document units are inch and you specific "0.25" it + will result in 1/4 inch clearance. Using a string, you can also specify the units as part of the expression, + such as "0.25 in + 2 mm". And you can define equations like "PartSize + 2 mm" where "PartSize" is an existing parameter. """ - return ModelParameter() - @property - def threadOffset(self) -> ModelParameter: + return core.ValueInput() + @originXOffset.setter + def originXOffset(self, value: core.ValueInput): """ - Gets the parameter that controls the offset value of the thread. - The offset is the distance along the axis of the cylinder from the edge to the start of the thread, - it is only used in the case where the isFullLength property is false. - Returns nothing in the case where the feature is non-parametric. + Gets and sets the X offset of the envelope from the origin of the construction plane. This value defaults to zero. + + This value will become a parameter when the arrangement is created. If the ValueInput is created using a + real number it is in centimeters. If you use a string, it is evaluated the same as a value would be in the command + dialog and uses the current document units. For example, if the document units are inch and you specific "0.25" it + will result in 1/4 inch clearance. Using a string, you can also specify the units as part of the expression, + such as "0.25 in + 2 mm". And you can define equations like "PartSize + 2 mm" where "PartSize" is an existing parameter. """ - return ModelParameter() + pass @property - def threadLocation(self) -> ThreadLocations: + def originYOffset(self) -> core.ValueInput: """ - Gets and sets where the thread length is measured from. - This property is only used in the case where the isFullLength property is false. + Gets and sets the Y offset of the envelope from the origin of the construction plane. This value defaults to zero. - 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) + This value will become a parameter when the arrangement is created. If the ValueInput is created using a + real number it is in centimeters. If you use a string, it is evaluated the same as a value would be in the command + dialog and uses the current document units. For example, if the document units are inch and you specific "0.25" it + will result in 1/4 inch clearance. Using a string, you can also specify the units as part of the expression, + such as "0.25 in + 2 mm". And you can define equations like "PartSize + 2 mm" where "PartSize" is an existing parameter. """ - return ThreadLocations() - @threadLocation.setter - def threadLocation(self, value: ThreadLocations): + return core.ValueInput() + @originYOffset.setter + def originYOffset(self, value: core.ValueInput): """ - Gets and sets where the thread length is measured from. - This property is only used in the case where the isFullLength property is false. + Gets and sets the Y offset of the envelope from the origin of the construction plane. This value defaults to zero. - 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) + This value will become a parameter when the arrangement is created. If the ValueInput is created using a + real number it is in centimeters. If you use a string, it is evaluated the same as a value would be in the command + dialog and uses the current document units. For example, if the document units are inch and you specific "0.25" it + will result in 1/4 inch clearance. Using a string, you can also specify the units as part of the expression, + such as "0.25 in + 2 mm". And you can define equations like "PartSize + 2 mm" where "PartSize" is an existing parameter. """ pass @property - def threadInfo(self) -> ThreadInfo: + def quantity(self) -> core.ValueInput: """ - Gets and sets the thread data. - Also can edit the thread through the properties and methods on the ThreadInfo object. + Specifies the number of envelopes that can be used. The default value is -1 which means there is no limit. - 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) + This value will become a parameter when the arrangement is created. When created with a real value it must be a whole number. + You can also use a string where it is interpreted the same as when entered in the command dialog. The expression must result + in a unitless whole number. It's also possible to use an equation like "Total / 4" where "Total" is an existing parameter and be + evenly divided by four. """ - return ThreadInfo() - @threadInfo.setter - def threadInfo(self, value: ThreadInfo): + return core.ValueInput() + @quantity.setter + def quantity(self, value: core.ValueInput): """ - Gets and sets the thread data. - Also can edit the thread through the properties and methods on the ThreadInfo object. + Specifies the number of envelopes that can be used. The default value is -1 which means there is no limit. - 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) + This value will become a parameter when the arrangement is created. When created with a real value it must be a whole number. + You can also use a string where it is interpreted the same as when entered in the command dialog. The expression must result + in a unitless whole number. It's also possible to use an equation like "Total / 4" where "Total" is an existing parameter and be + evenly divided by four. """ pass @property - def isRightHanded(self) -> bool: + def envelopeSpacing(self) -> core.ValueInput: """ - Gets and sets if the thread is right or left-handed thread. A value of true indicates a right-handed thread. - It defaults to true. + For a 2D plane envelope, this defines the spacing between envelopes when there is more than one. - 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) + This value will become a parameter when the arrangement is created. If the ValueInput is created + using a real number it is in centimeters. If you use a string, it is evaluated the same as a value + would be in the command dialog and uses the current document units. For example, if the document + units are inch and you specific "0.25" it will result in 1/4 inch clearance. You can also specify + the units as part of the expression, such as "0.25 in + 2 mm". And you can define equations like + "ToolDia + 2 mm" where "ToolDia" is an existing parameter. """ - return bool() - @isRightHanded.setter - def isRightHanded(self, value: bool): + return core.ValueInput() + @envelopeSpacing.setter + def envelopeSpacing(self, value: core.ValueInput): """ - Gets and sets if the thread is right or left-handed thread. A value of true indicates a right-handed thread. - It defaults to true. + For a 2D plane envelope, this defines the spacing between envelopes when there is more than one. - 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) + This value will become a parameter when the arrangement is created. If the ValueInput is created + using a real number it is in centimeters. If you use a string, it is evaluated the same as a value + would be in the command dialog and uses the current document units. For example, if the document + units are inch and you specific "0.25" it will result in 1/4 inch clearance. You can also specify + the units as part of the expression, such as "0.25 in + 2 mm". And you can define equations like + "ToolDia + 2 mm" where "ToolDia" is an existing parameter. """ pass + +class Arrange2DProfileOrFaceEnvelopeInput(Arrange2DEnvelopeInput): + """ + This object is used to specify the input needed to define an envelope using profiles and planar + faces to define the envelope shapes. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Arrange2DProfileOrFaceEnvelopeInput: + return Arrange2DProfileOrFaceEnvelopeInput() @property - def nativeObject(self) -> ThreadFeature: + def profilesOrFaces(self) -> list[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 an array that contains a combination of Profile and planar BRepFace objects that will be used to define + the shape of the envelopes. """ - return ThreadFeature() + return [core.Base()] + @profilesOrFaces.setter + def profilesOrFaces(self, value: list[core.Base]): + """ + Gets and sets an array that contains a combination of Profile and planar BRepFace objects that will be used to define + the shape of the envelopes. + """ + pass + +class ConfigurationJointSnapColumn(ConfigurationFeatureAspectColumn): + """ + This object represents a column in the table that controls which joint + snap to use for a particular joint. The columns contains a list of + joint snaps that have been defined specifically for that column. One of + the joint snaps is specified for each cell in the column. That joint snap + will be used by the joint when the row that cell is in is active. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ConfigurationJointSnapColumn: + return ConfigurationJointSnapColumn() @property - def inputCylindricalFaces(self) -> core.ObjectCollection: + def joint(self) -> core.Base: """ - Gets and sets the cylindrical input faces. + Returns the joint or as-built joint being controlled by this column. - 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 null when the table being queried was obtained from a DataFile object. """ - return core.ObjectCollection() - @inputCylindricalFaces.setter - def inputCylindricalFaces(self, value: core.ObjectCollection): + return core.Base() + @property + def snaps(self) -> ConfigurationJointSnaps: """ - Gets and sets the cylindrical input 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) + Provides access to any joint snaps that have been defined for this column. Using + the returned collection you can define new joint snaps. Use the cell to specify + which of the defined snaps is used for a specific row. """ - pass + return ConfigurationJointSnaps() -class ThroughAllExtentDefinition(ExtentDefinition): +class CustomFeatureParameter(ModelParameter): """ - A definition object that is used to define the extents of a feature to be through all. + !!!!! 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. """ def __init__(self): pass @staticmethod - def cast(arg) -> ThroughAllExtentDefinition: - return ThroughAllExtentDefinition() - @staticmethod - def create() -> ThroughAllExtentDefinition: + def cast(arg) -> CustomFeatureParameter: + return CustomFeatureParameter() + @property + def id(self) -> str: """ - Statically creates a new ThroughAllExtentDefinition object. This is used as input when - defining the extents of a feature to be through all. - Returns the newly created ThroughAllExtentDefinition or null in the case of a failure. + Returns the ID of this custom feature parameter. """ - return ThroughAllExtentDefinition() + return str() @property - def isPositiveDirection(self) -> bool: + def isVisible(self) -> bool: """ - Gets and sets if the direction is positive or negative. A value of true indicates it is - in the same direction as the z direction of the profile's sketch plane. + Gets and sets if this parameter is visible in the parameters dialog. By default, all new parameters are visible. - This is only used when the extrusion is only defined in a single direction from the - profile plane. If it's a two sided extrusion, this value is ignored. + This can be useful in cases where the feature can be edited to be in different states where a parameter + is only valid in a certain state. You can change the visibility based on the current state of the feature + and if that parameter should be available for edit. This implies that you create all the parameters that + might be needed and then change their visibility based on the current state of the feature. The parameters + that are not visible will not be returned by the ModelParameters collection and are only available through + the custom feature they're associated with. """ return bool() - @isPositiveDirection.setter - def isPositiveDirection(self, value: bool): + @isVisible.setter + def isVisible(self, value: bool): """ - Gets and sets if the direction is positive or negative. A value of true indicates it is - in the same direction as the z direction of the profile's sketch plane. + Gets and sets if this parameter is visible in the parameters dialog. By default, all new parameters are visible. - This is only used when the extrusion is only defined in a single direction from the - profile plane. If it's a two sided extrusion, this value is ignored. + This can be useful in cases where the feature can be edited to be in different states where a parameter + is only valid in a certain state. You can change the visibility based on the current state of the feature + and if that parameter should be available for edit. This implies that you create all the parameters that + might be needed and then change their visibility based on the current state of the feature. The parameters + that are not visible will not be returned by the ModelParameters collection and are only available through + the custom feature they're associated with. """ pass + @property + def parentCustomFeature(self) -> CustomFeature: + """ + Returns the custom feature this parameter is associated with. + """ + return CustomFeature() -class TimelineGroup(TimelineObject): +class FlatPatternComponent(Component): """ - Represents a group in the timeline. + 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) -> TimelineGroup: - return TimelineGroup() - def deleteMe(self, deleteGroupAndContents: bool) -> bool: + 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 the group with the option of deleting or keeping the contents. - deleteGroupAndContents : Indicates if the group and its contents should be deleted or if only the group - should be deleted and the contents kept and expanded. A value of true will delete - the group and its contents. + Deletes this FlatPatternProduct and the flat pattern it contains. Returns true if the delete was successful. """ return bool() - def item(self, index: int) -> TimelineObject: + @property + def flatPattern(self) -> FlatPattern: """ - Function that returns the specified timeline object within the group 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 flat pattern associated with this FlatPatternProduct. """ - return TimelineObject() - @property - def isCollapsed(self) -> bool: + return FlatPattern() + +class HemFeature(FlangeFeature): + """ + Defines a hem feature, providing methods to redefine the type of hem. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> HemFeature: + return HemFeature() + def redefineAsFlatHem(self, length: core.ValueInput, isFlipped: bool, bendPositionType: BendPositionTypes) -> bool: """ - Indicates if the group is collapsed or expanded. + Redefines the hem as a flat hem. + length : The length of the hem. + isFlipped : Indicates if the hem direction is flipped. + bendPositionType : The bend location type for the hem. + Returns true if defining the hem is successful. """ return bool() - @isCollapsed.setter - def isCollapsed(self, value: bool): + def redefineAsOpenHem(self, length: core.ValueInput, gap: core.ValueInput, isFlipped: bool, bendPositionType: BendPositionTypes) -> bool: """ - Indicates if the group is collapsed or expanded. + Redefines the hem as an open hem. + length : The length of the hem. + gap : The gap distance of the hem. + isFlipped : Indicates if the hem direction is flipped. + bendPositionType : The bend location type for the hem. + Returns true if defining the hem is successful. """ - pass + return bool() + def redefineAsRolledHem(self, radius: core.ValueInput, angle: core.ValueInput, isFlipped: bool, bendPositionType: BendPositionTypes) -> bool: + """ + Redefines the hem as a rolled hem. + radius : The radius of the rolled hem. + angle : The angle of the rolled hem. + isFlipped : Indicates if the hem direction is flipped. + bendPositionType : The bend location type for the hem. + Returns true if defining the hem is successful. + """ + return bool() + def redefineAsRopeHem(self, length: core.ValueInput, gap: core.ValueInput, radius: core.ValueInput, isFlipped: bool, bendPositionType: BendPositionTypes) -> bool: + """ + Redefines the hem as a rope hem. + length : The length of the rope hem. + gap : The gap distance of the hem. + radius : The radius of the rope hem. + isFlipped : Indicates if the hem direction is flipped. + bendPositionType : The bend location type for the hem. + Returns true if defining the hem is successful. + """ + return bool() + def redefineAsTeardropHem(self, radius: core.ValueInput, length: core.ValueInput, gap: core.ValueInput, isFlipped: bool, bendPositionType: BendPositionTypes) -> bool: + """ + Redefines the hem as a teardrop hem. + radius : The radius of the teardrop hem. + length : The length of the teardrop hem. + gap : The gap distance of the hem. + isFlipped : Indicates if the hem direction is flipped. + bendPositionType : The bend location type for the hem. + Returns true if defining the hem is successful. + """ + return bool() + def redefineAsDoubleHem(self, gap: core.ValueInput, length: core.ValueInput, setback: core.ValueInput, isFlipped: bool, bendPositionType: BendPositionTypes) -> bool: + """ + Redefines the hem as a double hem. + gap : The gap distance of the hem. + length : The length of the double hem. + setback : The setback of the double hem. + isFlipped : Indicates if the hem direction is flipped. + bendPositionType : The bend location type for the hem. + Returns true if defining the hem is successful. + """ + return bool() + def createForAssemblyContext(self, occurrence: Occurrence) -> HemFeature: + """ + 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 HemFeature() @property - def count(self) -> int: + def definitionType(self) -> HemFeatureDefinitionTypes: """ - The number of items in the group. + Gets the type of hem defined. """ - return int() + return HemFeatureDefinitionTypes() + @property + def definition(self) -> HemFeatureDefinition: + """ + Returns the HemFeatureDefinition object which provides access to the information + defining this HemFeature and the ability to edit it. + """ + return HemFeatureDefinition() + @property + def nativeObject(self) -> HemFeature: + """ + 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 HemFeature() -class ToEntityExtentDefinition(ExtentDefinition): +class MeshCombineFaceGroupsFeature(MeshFeature): """ - A definition object that is used to define the extents of a feature to be up to a specified - construction plane or face. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Object that represents an existing mesh combine face groups feature in a design. """ def __init__(self): pass @staticmethod - def cast(arg) -> ToEntityExtentDefinition: - return ToEntityExtentDefinition() - @staticmethod - def create(entity: core.Base, isChained: bool, offset: core.ValueInput) -> ToEntityExtentDefinition: + def cast(arg) -> MeshCombineFaceGroupsFeature: + return MeshCombineFaceGroupsFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> MeshCombineFaceGroupsFeature: """ - 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. - entity : The construction plane or face that the feature extent it up to. - isChained : - offset : A optional input value that defines an offset distance of the entity that will be used - for the extent. Positive and negative values can be used to offset in both directions. - If this argument is not provided a value of zero will be used. - Returns the newly created ToEntityExtentDefinition object or null if the creation failed. + 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 ToEntityExtentDefinition() + return MeshCombineFaceGroupsFeature() @property - def entity(self) -> core.Base: + def mesh(self) -> core.Base: """ - Gets and sets the entity that the feature extent is defined up to. This can be a ConstructionPlane, Profile, BrepFace, - BrepBody, or BRepVertex. + Gets the input mesh body. The actual mesh body is set implicitly by the input face groups. """ return core.Base() - @entity.setter - def entity(self, value: core.Base): + @property + def inputFaceGroups(self) -> list[FaceGroup]: """ - Gets and sets the entity that the feature extent is defined up to. This can be a ConstructionPlane, Profile, BrepFace, - BrepBody, or BRepVertex. + Gets and sets the input face groups, which should be combined. They need to belong to the same mesh body. + + 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 [FaceGroup()] + @inputFaceGroups.setter + def inputFaceGroups(self, value: list[FaceGroup]): + """ + Gets and sets the input face groups, which should be combined. They need to belong to the same mesh body. + + 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 offset(self) -> core.Base: + def nativeObject(self) -> MeshCombineFaceGroupsFeature: """ - Returns the current offset. If the EntityExtentDefinition object has been created statically and isn't associated with - a feature this will return a ValueInput object. If the EntityExtentDefinition object is obtained from a feature this - will return a ModelParameter object. You can use properties of the parameter to edit it's value which will result in - the feature updating. + 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 core.Base() + return MeshCombineFaceGroupsFeature() + +class MeshCombineFeature(MeshFeature): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Object that represents an existing mesh combine feature in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> MeshCombineFeature: + return MeshCombineFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> MeshCombineFeature: + """ + 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 MeshCombineFeature() @property - def isChained(self) -> bool: + def targetBody(self) -> MeshBody: """ - Gets and sets whether connected faces to the input entity should also be used when calculating the extent or if the - input entity should be extended. A value of true indicates that connected entities should be used. + Gets and sets the input targetBody. """ - return bool() - @isChained.setter - def isChained(self, value: bool): + return MeshBody() + @targetBody.setter + def targetBody(self, value: MeshBody): """ - Gets and sets whether connected faces to the input entity should also be used when calculating the extent or if the - input entity should be extended. A value of true indicates that connected entities should be used. + Gets and sets the input targetBody. """ pass @property - def directionHint(self) -> core.Vector3D: + def toolBodies(self) -> list[MeshBody]: """ - Gets and sets a direction that is used when the result is ambiguous. For example, if you have a profile in - the center of a torus and are extruding to the torus, the extrusion can go in either direction. When needed, - this provides the information to tell Fusion 360 which direction to go. In most cases this is not needed and - the property will be null. + Gets and sets the MeshBody objects that represent the tool bodies. """ - return core.Vector3D() - @directionHint.setter - def directionHint(self, value: core.Vector3D): + return [MeshBody()] + @toolBodies.setter + def toolBodies(self, value: list[MeshBody]): """ - Gets and sets a direction that is used when the result is ambiguous. For example, if you have a profile in - the center of a torus and are extruding to the torus, the extrusion can go in either direction. When needed, - this provides the information to tell Fusion 360 which direction to go. In most cases this is not needed and - the property will be null. + Gets and sets the MeshBody objects that represent the tool bodies. """ pass @property - def isMinimumSolution(self) -> bool: + def meshCombineOperationType(self) -> MeshCombineOperationTypes: """ - Gets and sets if the minimum or maximum solution is calculated. This is only used when the input entity is - a body and defines if the extrusion to go to the near side (minimum solution) of the body or the far side. - When a new ToEntityExtentDefinition object is created, this property defaults to True. + Gets and sets the operation type of mesh combine. """ - return bool() - @isMinimumSolution.setter - def isMinimumSolution(self, value: bool): + return MeshCombineOperationTypes() + @meshCombineOperationType.setter + def meshCombineOperationType(self, value: MeshCombineOperationTypes): """ - Gets and sets if the minimum or maximum solution is calculated. This is only used when the input entity is - a body and defines if the extrusion to go to the near side (minimum solution) of the body or the far side. - When a new ToEntityExtentDefinition object is created, this property defaults to True. + Gets and sets the operation type of mesh combine. """ pass - -class TorusFeature(Feature): - """ - Object that represents an existing torus feature in a design. - """ - def __init__(self): + @property + def isNewComponent(self) -> bool: + """ + Creates a new component to contain combined mesh bodies. + Default value is false. + """ + return bool() + @property + def isKeepToolBodies(self) -> bool: + """ + Preserves a copy of each tool body. + """ + return bool() + @isKeepToolBodies.setter + def isKeepToolBodies(self, value: bool): + """ + Preserves a copy of each tool body. + """ pass - @staticmethod - def cast(arg) -> TorusFeature: - return TorusFeature() + @property + def nativeObject(self) -> MeshCombineFeature: + """ + 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 MeshCombineFeature() -class TrimFeature(Feature): +class MeshGenerateFaceGroupsFeature(MeshFeature): """ - Object that represents an existing trim feature in a design. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Object that represents an existing mesh generate face groups feature in a design. """ def __init__(self): pass @staticmethod - def cast(arg) -> TrimFeature: - return TrimFeature() - def createForAssemblyContext(self, occurrence: Occurrence) -> TrimFeature: + def cast(arg) -> MeshGenerateFaceGroupsFeature: + return MeshGenerateFaceGroupsFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> MeshGenerateFaceGroupsFeature: """ Creates or returns a proxy for the native object - i.e. a new object that represents this object but adds the assembly context @@ -31516,545 +53816,563 @@ def createForAssemblyContext(self, occurrence: Occurrence) -> TrimFeature: 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 TrimFeature() - def applyCellChanges(self) -> bool: - """ - After making any changes to the set of selected cells you must call this method to - indicate all changes have been made and to apply those changes to the feature. - Returns true if the apply was successful. - """ - return bool() + return MeshGenerateFaceGroupsFeature() @property - def trimTool(self) -> core.Base: + def mesh(self) -> core.Base: """ - Gets and sets the entity (a patch body, B-Rep face, construction plane or sketch curve) that intersects the trim tool. + Gets and sets the input mesh body. 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() - @trimTool.setter - def trimTool(self, value: core.Base): + @mesh.setter + def mesh(self, value: core.Base): """ - Gets and sets the entity (a patch body, B-Rep face, construction plane or sketch curve) that intersects the trim tool. + Gets and sets the input mesh body. 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 bRepCells(self) -> BRepCells: + def meshGenerateFaceGroupsMethodType(self) -> MeshGenerateFaceGroupsMethodTypes: """ - Gets the set of valid cells that have been calculated based on the current inputs. - To get this collection the model must be in the state it was when the feature - was initially computed, which means the timeline marker must be positioned to immediately - before this feature. - - After changing any selected cells you must call the applyCellChanges method to update - the feature with the changes. + Gets and sets the type of mesh generate face groups. """ - return BRepCells() + return MeshGenerateFaceGroupsMethodTypes() + @meshGenerateFaceGroupsMethodType.setter + def meshGenerateFaceGroupsMethodType(self, value: MeshGenerateFaceGroupsMethodTypes): + """ + Gets and sets the type of mesh generate face groups. + """ + pass @property - def nativeObject(self) -> TrimFeature: + def angleThreshold(self) -> ModelParameter: + """ + Controls the angle threshold during the face group generation. + The values can range between 0 and pi/2. + Only valid if meshGenerateFaceGroupsMethodType is FastGenerateFaceGroupsType. + """ + return ModelParameter() + @property + def minimumFaceGroupSize(self) -> ModelParameter: + """ + Gets and sets the fraction of the overall mesh area + which determines the smallest face group. + The value can range between 0 and 1. + Only valid if meshGenerateFaceGroupsMethodType is FastGenerateFaceGroupsType. + """ + return ModelParameter() + @property + def boundaryTolerance(self) -> ModelParameter: + """ + Gets and sets tolerance to define face group. This value is used + during the fitting of the primitives. The values can range between + 0 and 0.01. + Only valid if meshGenerateFaceGroupsMethodType is AccurateGenerateFaceGroupsType. + """ + return ModelParameter() + @property + def nativeObject(self) -> MeshGenerateFaceGroupsFeature: """ 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 TrimFeature() + return MeshGenerateFaceGroupsFeature() -class TwoDistancesChamferEdgeSet(ChamferEdgeSet): +class MeshReduceFeature(MeshFeature): """ - Provides access to the edges and the parameters associated with a two distances chamfer. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Object that represents an existing mesh reduce feature in a design. + To change the properties of this 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) """ def __init__(self): pass @staticmethod - def cast(arg) -> TwoDistancesChamferEdgeSet: - return TwoDistancesChamferEdgeSet() + def cast(arg) -> MeshReduceFeature: + return MeshReduceFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> MeshReduceFeature: + """ + 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 MeshReduceFeature() @property - def edges(self) -> core.ObjectCollection: + def mesh(self) -> core.Base: """ - Gets and sets the edges that will be chamfered. This collection can contain BRepEdge, BRepFace, - and Feature objects. If BRepFace or Feature are objects are provided, all of the edges associated - with those objects will be chamfered. + Gets and sets the input mesh body. 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): + return core.Base() + @mesh.setter + def mesh(self, value: core.Base): """ - Gets and sets the edges that will be chamfered. This collection can contain BRepEdge, BRepFace, - and Feature objects. If BRepFace or Feature are objects are provided, all of the edges associated - with those objects will be chamfered. + Gets and sets the input mesh body. 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 distanceOne(self) -> ModelParameter: + def meshReduceMethodType(self) -> MeshReduceMethodTypes: """ - Returns the model parameter that controls the first offset distance of the chamfer. - You can edit the distance by using the properties on the returned ModelParameter object. + Gets and sets the type of mesh reduce. """ - return ModelParameter() - @property - def distanceTwo(self) -> ModelParameter: + return MeshReduceMethodTypes() + @meshReduceMethodType.setter + def meshReduceMethodType(self, value: MeshReduceMethodTypes): """ - Returns the model parameter that controls the first offset distance of the chamfer. - You can edit the distance by using the properties on the returned ModelParameter object. + Gets and sets the type of mesh reduce. """ - return ModelParameter() + pass @property - def isFlipped(self) -> bool: + def meshReduceTargetType(self) -> MeshReduceTargetTypes: """ - Gets and sets if the chamfer is flipped. This swaps the directions for distance one and two. - - 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) + Gets and sets the target criteria for the reduction. """ - return bool() - @isFlipped.setter - def isFlipped(self, value: bool): + return MeshReduceTargetTypes() + @meshReduceTargetType.setter + def meshReduceTargetType(self, value: MeshReduceTargetTypes): """ - Gets and sets if the chamfer is flipped. This swaps the directions for distance one and two. - - 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) + Gets and sets the target criteria for the reduction. """ 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: + def maximumDeviation(self) -> ModelParameter: """ - Returns the parameter controlling the first distance. You can edit the distance - by editing the value of the parameter object. + Controls the maximum deviation of the reduced mesh to the original mesh. + Only valid if meshReduceTargetType is MaximumDeviationMeshReduceTargetType. """ return ModelParameter() @property - def distanceTwo(self) -> ModelParameter: + def proportion(self) -> ModelParameter: """ - Returns the parameter controlling the second distance. You can edit the distance - by editing the value of the parameter object. + Gets and sets the proportion of number of faces of the reduced mesh to the number of + faces of original mesh as a target for the reduction. The value can range between 0 and 100 percent. + Only valid if meshReduceTargetType is ProportionMeshReduceTargetType. + """ + return ModelParameter() + @property + def facecount(self) -> ModelParameter: + """ + Gets and sets the target face count for the reduced mesh as a target for the reduction. + Only valid if meshReduceTargetType is FaceCountMeshReduceTargetType. """ return ModelParameter() + @property + def nativeObject(self) -> MeshReduceFeature: + """ + 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 MeshReduceFeature() -class TwoSidesAngleExtentDefinition(ExtentDefinition): +class MeshRemeshFeature(MeshFeature): """ - Defines the inputs for a TwoSidesAngleExtentDefinition object. - This feature extent type defines the extents of the feature using angle extents on two sides. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Object that represents an existing mesh re-mesh feature in a design. + To change the properties of this 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) """ def __init__(self): pass @staticmethod - def cast(arg) -> TwoSidesAngleExtentDefinition: - return TwoSidesAngleExtentDefinition() + def cast(arg) -> MeshRemeshFeature: + return MeshRemeshFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> MeshRemeshFeature: + """ + 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 MeshRemeshFeature() @property - def angleOne(self) -> ModelParameter: + def mesh(self) -> core.Base: """ - Gets the ModelParameter that defines the angle on the first side. - The value of the angle can be edited by using the properties on the ModelParameter object to edit the parameter. + Gets and sets the input mesh body. + + 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 ModelParameter() + return core.Base() + @mesh.setter + def mesh(self, value: core.Base): + """ + Gets and sets the input mesh body. + + 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 angleTwo(self) -> ModelParameter: + def meshRemeshMethodType(self) -> MeshRemeshMethodTypes: """ - Gets the ModelParameter that defines the angle on the second side. - The value of the angle can be edited by using the properties on the ModelParameter object to edit the parameter. + Gets and sets the type of mesh re-mesh. + """ + return MeshRemeshMethodTypes() + @meshRemeshMethodType.setter + def meshRemeshMethodType(self, value: MeshRemeshMethodTypes): + """ + Gets and sets the type of mesh re-mesh. """ - 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: + def density(self) -> ModelParameter: """ - Gets the ModelParameter that defines the first distance + Controls the density of the newly created faces of the re-meshed mesh. + The values can range between 0 and 1. """ return ModelParameter() @property - def distanceTwo(self) -> ModelParameter: + def shapePreservation(self) -> ModelParameter: """ - Gets the ModelParameter that defines the second distance + Gets and sets how much of the original shape needs to preserved. + The value can range between 0 and 1. + Only valid if meshRemeshMethodType is AdaptiveType. """ 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: + def isPreserveSharpEdgesEnabled(self) -> bool: """ - 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. + Gets and sets if sharp edges are preserved during the re-mesh process. """ - return core.Base() - @toEntityOne.setter - def toEntityOne(self, value: core.Base): + return bool() + @isPreserveSharpEdgesEnabled.setter + def isPreserveSharpEdgesEnabled(self, value: bool): """ - 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. + Gets and sets if sharp edges are preserved during the re-mesh process. """ pass @property - def toEntityTwo(self) -> core.Base: + def isPreserveBoundariesEnabled(self) -> bool: """ - 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. + Gets and sets if open boundary edges are preserved during the re-mesh process. """ - return core.Base() - @toEntityTwo.setter - def toEntityTwo(self, value: core.Base): + return bool() + @isPreserveBoundariesEnabled.setter + def isPreserveBoundariesEnabled(self, value: bool): """ - 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. + Gets and sets if open boundary edges are preserved during the re-mesh process. """ pass @property - def matchShape(self) -> bool: - """ - Gets and sets whether the toEntity is extended to fully intersect the extrusion. + def nativeObject(self) -> MeshRemeshFeature: """ - return bool() - @matchShape.setter - def matchShape(self, value: bool): - """ - Gets and sets whether the toEntity is extended to fully intersect the extrusion. + 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. """ - pass - -class UnfoldFeature(Feature): - """ - Object that represents an existing unfold feature in a design. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> UnfoldFeature: - return UnfoldFeature() + return MeshRemeshFeature() -class UnstitchFeature(Feature): +class MeshRemoveFeature(MeshFeature): """ - Object that represents an existing Unstitch feature in a design. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Object that represents an existing mesh remove feature in a design. """ def __init__(self): pass @staticmethod - def cast(arg) -> UnstitchFeature: - return UnstitchFeature() - def setInputFaces(self, faces: core.ObjectCollection, isChainSelection: bool) -> bool: - """ - Sets the faces and/or bodies to be unstiched. - - 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) - faces : The faces and/or bodies to Unstitch. Individual faces can be unstitched from solids and/or patch bodies. - The faces being unstitched need not all come from the same body. - isChainSelection : A boolean value for setting whether or not faces that are connected and adjacent to - the input faces will be included in the selection. The default value is true. - Returns true if successful. - """ - return bool() - def createForAssemblyContext(self, occurrence: Occurrence) -> UnstitchFeature: + def cast(arg) -> MeshRemoveFeature: + return MeshRemoveFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> MeshRemoveFeature: """ 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 UnstitchFeature() - @property - def inputFaces(self) -> core.ObjectCollection: - """ - Gets the faces that were input to be unstitched. - - 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 the proxy object or null if this isn't the NativeObject. """ - return core.ObjectCollection() + return MeshRemoveFeature() @property - def isChainSelection(self) -> bool: + def inputBodies(self) -> list[MeshBody]: """ - A boolean value for setting whether or not faces that are connected and adjacent to - the input faces will be included in the selection. The default value is true. + Gets the input meshes. """ - return bool() + return [MeshBody()] @property - def nativeObject(self) -> UnstitchFeature: + def nativeObject(self) -> MeshRemoveFeature: """ 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 UnstitchFeature() + return MeshRemoveFeature() -class UntrimFeature(Feature): +class MeshRepairFeature(MeshFeature): """ - Object that represents an existing Untrim feature in a design. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Object that represents an existing mesh repair feature in a design. + To change the properties of this 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) """ def __init__(self): pass @staticmethod - def cast(arg) -> UntrimFeature: - return UntrimFeature() - def redefineLoopsFromFaces(self, faces: list[BRepFace], untrimLoopType: UntrimLoopTypes) -> bool: - """ - Set the loops to be removed from a set of faces. - faces : An array of BRepFace objects that will have the loops of the specified types removed. - Only loops that do not have a connected face can be removed (the edges in the loop have a single face). - The array can only contain faces from surface bodies, (the isSolid property of the BRepBody returns false). - untrimLoopType : The loop type to be untrimmed (AllLoopUntrimType, InternalLoopUntrimType, or ExternalLoopUntrimType). - Returns whether the operation was successful - """ - return bool() - def redefineLoops(self, loops: list[BRepLoop]) -> bool: - """ - Set the loops to be removed. - loops : Input the entities that define loops to remove. - Only loops that do not have a connected face can be removed (the edges in the loop have a single face) - The array can only contain loops from surface bodies, (the isSolid property of the BRepBody returns false). - Returns whether the operation was successful - """ - return bool() - def createForAssemblyContext(self, occurrence: Occurrence) -> UntrimFeature: + def cast(arg) -> MeshRepairFeature: + return MeshRepairFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> MeshRepairFeature: """ 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. + Returns the proxy object or null if this isn't the NativeObject. """ - return UntrimFeature() + return MeshRepairFeature() @property - def untrimLoopType(self) -> UntrimLoopTypes: + def mesh(self) -> core.Base: """ - Gets the loop type that was untrimmed. To change the trim type, use one of the redefine methods. + Gets and sets the input mesh body. + + 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 UntrimLoopTypes() + return core.Base() + @mesh.setter + def mesh(self, value: core.Base): + """ + Gets and sets the input mesh body. + + 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 facesToUntrim(self) -> list[BRepFace]: + def meshRepairType(self) -> MeshRepairTypes: """ - Gets the face objects to untrim. - Returns null/None in the case where loops are specified instead of faces. + Gets and sets the type of mesh repair. """ - return [BRepFace()] + return MeshRepairTypes() + @meshRepairType.setter + def meshRepairType(self, value: MeshRepairTypes): + """ + Gets and sets the type of mesh repair. + """ + pass @property - def loopsToUntrim(self) -> list[BRepLoop]: + def meshRepairRebuildType(self) -> MeshRepairRebuildTypes: """ - Gets the loop objects to untrim. - Returns null/None in the case where faces are specified instead of loops + Gets and sets the type of mesh repair rebuild mode. + Only valid if meshRepairType is RebuildMeshRepairType. """ - return [BRepLoop()] + return MeshRepairRebuildTypes() + @meshRepairRebuildType.setter + def meshRepairRebuildType(self, value: MeshRepairRebuildTypes): + """ + Gets and sets the type of mesh repair rebuild mode. + Only valid if meshRepairType is RebuildMeshRepairType. + """ + pass @property - def extensionDistance(self) -> ModelParameter: + def density(self) -> ModelParameter: """ - Gets the ModelParameter that defines the extension distance used to extend external boundaries. - This can return null in the case where only internal boundaries have been removed. - The value can be edited by using the properties of the returned ModelParameter object. + Controls the density of the newly created triangles in RebuildMeshRepairType. + The values can range between 8 and 256. + Only valid if meshRepairType is RebuildMeshRepairType. """ return ModelParameter() @property - def nativeObject(self) -> UntrimFeature: + def offset(self) -> ModelParameter: + """ + Gets and sets the offset from the original mesh to newly created mesh. + Only valid if meshRepairType is RebuildMeshRepairType and meshRepairRebuildType + is AccurateMeshRepairRebuildType. + """ + return ModelParameter() + @property + def nativeObject(self) -> MeshRepairFeature: """ 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 UntrimFeature() + return MeshRepairFeature() -class UserParameter(Parameter): +class MeshReverseNormalFeature(MeshFeature): """ - Represents a User Parameter. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Object that represents an existing MeshReverseNormal feature in a design. + To change the properties of this 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) """ def __init__(self): pass @staticmethod - def cast(arg) -> UserParameter: - return UserParameter() - def deleteMe(self) -> bool: + def cast(arg) -> MeshReverseNormalFeature: + return MeshReverseNormalFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> MeshReverseNormalFeature: """ - Deletes the user parameter - A parameter can only be deleted if it is a UserParameter and - it is not referenced by other parameters. - Returns a bool indicating if the delete was successful or not. - Bug!!! Currently returning true if the parameter can't be deleted because it is - being referenced by other parameters. + 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 bool() + return MeshReverseNormalFeature() @property - def userParameters(self) -> UserParameters: + def mesh(self) -> core.Base: """ - Returns the Collection containing the UserParameter. + Gets and sets the input mesh body. This can either be a mesh body or an object collection with face groups. + + 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 UserParameters() + return core.Base() + @mesh.setter + def mesh(self, value: core.Base): + """ + Gets and sets the input mesh body. This can either be a mesh body or an object collection with face groups. + + 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 design(self) -> Design: + def nativeObject(self) -> MeshReverseNormalFeature: """ - Returns the Design containing the UserParameter. + 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 Design() + return MeshReverseNormalFeature() -class VariableRadiusFilletEdgeSet(FilletEdgeSet): +class MeshSeparateFeature(MeshFeature): """ - Provides access to the edges and the parameters associated with a variable radius fillet. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Object that represents an existing MeshSeparate feature in a design. + To change the properties of this 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) """ def __init__(self): pass @staticmethod - def cast(arg) -> VariableRadiusFilletEdgeSet: - return VariableRadiusFilletEdgeSet() - def addMidPosition(self, position: core.ValueInput, radius: core.ValueInput) -> bool: - """ - Creates a new mid position radius on the variable radius edge set. - - 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) - position : The position where the new radius is to be created. This is a value between 0 and 1 where 0 is at the start of the - edge and 1 is at the end. If the ValueInput uses a real then it is interpreted as a unitless value. If it is a string - then it must resolve to a unitless value. - radius : A ValueInput object that defines the radius at the defined position. 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 successful. + def cast(arg) -> MeshSeparateFeature: + return MeshSeparateFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> MeshSeparateFeature: """ - return bool() - def deleteMidPosition(self, positionIndex: int) -> bool: - """ - Deletes the specified mid position from the variable radius 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) - positionIndex : The index of the mid position to delete. The points are in the order they appear along the edge - where the first point has an index of 0. The number of mid positions and their locations can be - obtained by getting the list of mid positions using the midPositions property. - Returns true if successful. + 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 bool() + return MeshSeparateFeature() @property - def edges(self) -> core.ObjectCollection: + def mesh(self) -> core.Base: """ - Gets and sets the edges that will be filleted. + Gets and sets the input mesh body. This can either be a mesh body or an object collection with face groups. 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): + return core.Base() + @mesh.setter + def mesh(self, value: core.Base): """ - Gets and sets the edges that will be filleted. + Gets and sets the input mesh body. This can either be a mesh body or an object collection with face groups. 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 startRadius(self) -> ModelParameter: + def meshSeparateType(self) -> MeshSeparateTypes: """ - Returns the model parameter that controls the start radius of the fillet. You can edit - the start radius by using the properties on the returned ModelParameter object. + Gets and sets the output type of mesh separation. """ - return ModelParameter() - @property - def endRadius(self) -> ModelParameter: + return MeshSeparateTypes() + @meshSeparateType.setter + def meshSeparateType(self, value: MeshSeparateTypes): """ - Returns the model parameter that controls the end radius of the fillet. You can edit - the end radius by using the properties on the returned ModelParameter object. + Gets and sets the output type of mesh separation. """ - return ModelParameter() + pass @property - def midRadii(self) -> ParameterList: + def isKeepBody(self) -> bool: """ - Returns a list of model parameters that control radius of the fillet at each position defined along the edge set. - You can edit any of these radii by using the properties on its returned ModelParameter object. This list does - not include the parameters for the start and end radii. Use the startRadius and endRadius properties to get those. + Preserves a copy of the original mesh body. """ - return ParameterList() - @property - def midPositions(self) -> ParameterList: + return bool() + @isKeepBody.setter + def isKeepBody(self, value: bool): """ - Returns a list of model parameters that control the location of each mid point radius. These positions are defined - from 0 to 1 where 0 is at the start of the edge and 1 is at the end. You can edit any of these positions by - using the properties on its returned ModelParameter object. + Preserves a copy of the original mesh body. """ - return ParameterList() - -class VerticalConstraint(GeometricConstraint): - """ - A vertical constraint in a sketch. - """ - def __init__(self): pass - @staticmethod - def cast(arg) -> VerticalConstraint: - return VerticalConstraint() - def createForAssemblyContext(self, occurrence: Occurrence) -> VerticalConstraint: + @property + def isMultipleBodies(self) -> bool: """ - 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. + Separates each face group into an independent mesh body. Only valid if face groups are used as inputs. """ - return VerticalConstraint() - @property - def line(self) -> SketchLine: + return bool() + @isMultipleBodies.setter + def isMultipleBodies(self, value: bool): """ - Returns the line being constrained. + Separates each face group into an independent mesh body. Only valid if face groups are used as inputs. """ - return SketchLine() + pass @property - def nativeObject(self) -> VerticalConstraint: + def nativeObject(self) -> MeshSeparateFeature: """ 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 VerticalConstraint() + return MeshSeparateFeature() -class VerticalPointsConstraint(GeometricConstraint): +class MeshShellFeature(MeshFeature): """ - A vertical constraint between two points in a sketch. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Object that represents an existing mesh shell feature in a design. + + To change the properties of this 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) """ def __init__(self): pass @staticmethod - def cast(arg) -> VerticalPointsConstraint: - return VerticalPointsConstraint() - def createForAssemblyContext(self, occurrence: Occurrence) -> VerticalPointsConstraint: + def cast(arg) -> MeshShellFeature: + return MeshShellFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> MeshShellFeature: """ Creates or returns a proxy for the native object - i.e. a new object that represents this object but adds the assembly context @@ -32062,88 +54380,99 @@ def createForAssemblyContext(self, occurrence: Occurrence) -> VerticalPointsCons 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 VerticalPointsConstraint() + return MeshShellFeature() @property - def pointOne(self) -> SketchPoint: + def mesh(self) -> core.Base: """ - Returns the first point. + Gets and sets the input mesh body. + + 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 SketchPoint() + return core.Base() + @mesh.setter + def mesh(self, value: core.Base): + """ + Gets and sets the input mesh body. + + 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 pointTwo(self) -> SketchPoint: + def thickness(self) -> ModelParameter: """ - Returns the second point. + Controls the thickness of the shell. """ - return SketchPoint() + return ModelParameter() @property - def nativeObject(self) -> VerticalPointsConstraint: + def nativeObject(self) -> MeshShellFeature: """ 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 VerticalPointsConstraint() - -class WebFeature(Feature): - """ - Object that represents an existing web feature in a design. - """ - def __init__(self): - pass - @staticmethod - def cast(arg) -> WebFeature: - return WebFeature() + return MeshShellFeature() -class CustomFeatureParameter(ModelParameter): +class MeshSmoothFeature(MeshFeature): """ - 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. + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Object that represents an existing MeshSmooth feature in a design. + To change the properties of this 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) """ def __init__(self): pass @staticmethod - def cast(arg) -> CustomFeatureParameter: - return CustomFeatureParameter() - @property - def id(self) -> str: + def cast(arg) -> MeshSmoothFeature: + return MeshSmoothFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> MeshSmoothFeature: """ - Returns the ID of this custom feature parameter. + 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 str() + return MeshSmoothFeature() @property - def isVisible(self) -> bool: + def mesh(self) -> core.Base: """ - Gets and sets if this parameter is visible in the parameters dialog. By default, all new parameters are visible. + Gets and sets the input mesh body. - This can be useful in cases where the feature can be edited to be in different states where a parameter - is only valid in a certain state. You can change the visibility based on the current state of the feature - and if that parameter should be available for edit. This implies that you create all the parameters that - might be needed and then change their visibility based on the current state of the feature. The parameters - that are not visible will not be returned by the ModelParameters collection and are only available through - the custom feature they're associated with. + 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() - @isVisible.setter - def isVisible(self, value: bool): + return core.Base() + @mesh.setter + def mesh(self, value: core.Base): """ - Gets and sets if this parameter is visible in the parameters dialog. By default, all new parameters are visible. + Gets and sets the input mesh body. - This can be useful in cases where the feature can be edited to be in different states where a parameter - is only valid in a certain state. You can change the visibility based on the current state of the feature - and if that parameter should be available for edit. This implies that you create all the parameters that - might be needed and then change their visibility based on the current state of the feature. The parameters - that are not visible will not be returned by the ModelParameters collection and are only available through - the custom feature they're associated with. + 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 parentCustomFeature(self) -> CustomFeature: + def smoothness(self) -> ModelParameter: """ - Returns the custom feature this parameter is associated with. + Gets and sets the smoothness parameter. The range is between 0 and 1. + The higher the value the stronger the smoothing. """ - return CustomFeature() + return ModelParameter() + @property + def nativeObject(self) -> MeshSmoothFeature: + """ + 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 MeshSmoothFeature() class SketchArc(SketchCurve): """ @@ -32369,6 +54698,147 @@ 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 and sets the degree of the spline. + """ + return SplineDegrees() + @degree.setter + def degree(self, value: SplineDegrees): + """ + Gets and sets the degree of the spline. + """ + pass + @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 +55146,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 +55242,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. """ @@ -32908,3 +55388,126 @@ def isCenterLine(self, value: bool): Gets and sets whether this line is defined as a centerline. """ pass + +class TessellateFeature(MeshFeature): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Object that represents an existing tessellate feature in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> TessellateFeature: + return TessellateFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> TessellateFeature: + """ + 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 TessellateFeature() + @property + def inputBodies(self) -> list[BRepBody]: + """ + Gets and sets the input B-Rep bodies. + + 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()] + @inputBodies.setter + def inputBodies(self, value: list[BRepBody]): + """ + Gets and sets the input B-Rep bodies. + + 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 tessellateRefinementType(self) -> TessellateRefinementTypes: + """ + Gets and sets the type of refinement. + """ + return TessellateRefinementTypes() + @tessellateRefinementType.setter + def tessellateRefinementType(self, value: TessellateRefinementTypes): + """ + Gets and sets the type of refinement. + """ + pass + @property + def surfaceDeviation(self) -> ModelParameter: + """ + Specify maximum distance between the surface of the original + body and the surface of the mesh body. + Only valid if tessellateRefinementType is CustomTessellateRefinementType. + """ + return ModelParameter() + @property + def normalDeviation(self) -> ModelParameter: + """ + Specify maximum angle between the normal vectors of each face on the mesh body. + Only valid if tessellateRefinementType is CustomTessellateRefinementType. + """ + return ModelParameter() + @property + def maximumEdgeLength(self) -> ModelParameter: + """ + Specify maximum length of any face edge on the mesh body. + Only valid if tessellateRefinementType is CustomTessellateRefinementType. + """ + return ModelParameter() + @property + def aspectRatio(self) -> ModelParameter: + """ + Specify ratio between the height and width of each face on the mesh body. + Only valid if tessellateRefinementType is CustomTessellateRefinementType. + """ + return ModelParameter() + @property + def createQuads(self) -> bool: + """ + Creates quad faces on the mesh body where possible. + """ + return bool() + @createQuads.setter + def createQuads(self, value: bool): + """ + Creates quad faces on the mesh body where possible. + """ + pass + @property + def nativeObject(self) -> TessellateFeature: + """ + 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 TessellateFeature() + +class WorkingModel(Design): + """ + A type of product that utilizes the internal "Working Model" functionality within Fusion. + This is used where a model is referenced into another product. For example, when you create a + Manufacturing Model, you see a copy of the original design, but you can make isolated edits to + it within the Manufacturing Model. This is using the internal Working Model functionality to + create an associative reference to a specific component. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> WorkingModel: + return WorkingModel() + @property + def sourceComponent(self) -> Component: + """ + Returns the component being referenced by this working model. + """ + return Component() diff --git a/adsk/sim.py b/adsk/sim.py new file mode 100644 index 0000000..ba95aad --- /dev/null +++ b/adsk/sim.py @@ -0,0 +1,9 @@ +# This file is automatically generated for code intellisense only. +# It does not reflect the actual implementation. + +from __future__ import annotations +from collections.abc import Iterator + +from . import core +from . import fusion + diff --git a/adsk/volume.py b/adsk/volume.py new file mode 100644 index 0000000..5aa7fac --- /dev/null +++ b/adsk/volume.py @@ -0,0 +1,1204 @@ +# This file is automatically generated for code intellisense only. +# It does not reflect the actual implementation. + +from __future__ import annotations +from collections.abc import Iterator + +from . import core +from . import fusion + +class ControlPointInterpolators(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Types of interpolation functions for the control point maps. + """ + def __init__(self): + pass + LinearInterpolator = 0 + NearestInterpolator = 1 + CubicInterpolator = 2 + SmoothInterpolator = 3 + +class GraphOutputNodeTypes(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Types of graph output nodes for the main graph. + """ + def __init__(self): + pass + BoundarySDFOutputNodeType = 0 + LatticeDensityOutputNodeType = 1 + ColorOutputNodeType = 2 + LatticeCoordinatesOutputNodeType = 3 + TextureDensityOutputNodeType = 4 + TextureCoordinatesOutputNodeType = 5 + CellLatticeShapeOutputNodeType = 6 + CellTextureShapeOutputNodeType = 7 + +class GraphTypes(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Graph types for a volumetric model. + """ + def __init__(self): + pass + PrimaryGraphType = 0 + CellGraphType = 1 + +class NodePinTypes(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Different types that graph nodes input and output types can be. + """ + def __init__(self): + pass + NoNodePinType = 0 + ScalarNodePinType = 1 + VectorNodePinType = 2 + ColorNodePinType = 3 + +class BeamNetwork(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + A geometry reference property that defines a BeamNetwork object which is + commonly used in discrete lattice structures. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> BeamNetwork: + return BeamNetwork() + @staticmethod + def create() -> BeamNetwork: + """ + The creator function of the BeamNetwork object. + """ + return BeamNetwork() + @property + def vertices(self) -> list[core.Point3D]: + """ + The vertices of the beam network. Each vertex is a Point3D. + """ + return [core.Point3D()] + @vertices.setter + def vertices(self, value: list[core.Point3D]): + """ + The vertices of the beam network. Each vertex is a Point3D. + """ + pass + @property + def beams(self) -> list[int]: + """ + The beams of the beam network. Each beam is a pair of vertex indices. + The size of the array should be a multiple of 2, and equal to the length of the radii array. + """ + return [int()] + @beams.setter + def beams(self, value: list[int]): + """ + The beams of the beam network. Each beam is a pair of vertex indices. + The size of the array should be a multiple of 2, and equal to the length of the radii array. + """ + pass + @property + def radii(self) -> list[float]: + """ + The radii of the beams. Each radius is a double value. The radii define + the radius of one end of the beam that corresponds to the same index in the beams array. + The size of the array should be a multiple of 2, and equal to the length of the beams array. + """ + return [float()] + @radii.setter + def radii(self, value: list[float]): + """ + The radii of the beams. Each radius is a double value. The radii define + the radius of one end of the beam that corresponds to the same index in the beams array. + The size of the array should be a multiple of 2, and equal to the length of the beams array. + """ + pass + +class ColorControlPoint(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + A read-only structure that represents a control point used in ColorControlPointMapGraphNodeProperty. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ColorControlPoint: + return ColorControlPoint() + @property + def parameter(self) -> float: + """ + The parameter inside the input domain of the control point map for this point. + """ + return float() + @property + def value(self) -> core.Color: + """ + The output color value of the control point for this point. + """ + return core.Color() + @property + def interpolator(self) -> ControlPointInterpolators: + """ + The interpolator function. + """ + return ControlPointInterpolators() + +class CustomSDFCallbackEventHandler(core.EventHandler): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + API clients can implement subclasses of this handler to enable custom Signed Distance Field geometries. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CustomSDFCallbackEventHandler: + return CustomSDFCallbackEventHandler() + def boundingBox(self, bboxOut: core.BoundingBox3D) -> bool: + """ + This method should be implemented in the subclass of the handler to return the bounding box of + the Signed Distance Field that it can provide. This method will be called infrequently by the system. + bboxOut : This is a return parameter. The values of this should be set by the client implementation. + True if there is a valid bounding box. + """ + return bool() + def signedDistanceAt(self, x: float, y: float, z: float) -> float: + """ + This method should be implemented in the subclass of the handler to return the Signed Distance + value at the given coordinates within the bounding box. This method will be called very + frequently and potentially from several differrent threads, it should be made as fast as possible + x : X coordinate of the sampled point. + y : Y coordinate of the sampled point. + z : Z coordinate of the sampled point. + The signed distance value at the sampled point (X,Y,Z). + """ + return float() + +class Graph(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + The graph that describes the volumetric model. + Possible node types: + "BoxSDF", + "CylinderSDF", + "SphereSDF", + "TorusSDF", + "PlaneSDF", + "ReferencedGeometrySDF", + "ReferencedCurveLength", + "ReferencedCurveCoords", + "ReferencedFaceCoords", + "GradientVector", + "InvertDensity", + "PerlinNoiseScalar", + "VoronoiNoiseScalar", + "Shell", + "ConstantScalar", + "ConstantColor", + "ImageSamplerScalar", + "ImageSamplerVector", + "ImageSamplerColor", + "3DImageSamplerScalar", + "SphereCoords", + "TorusCoords", + "CylinderCoords", + "HomogenousTransformCoords", + "TransformCoords", + "AxisBasedDeformCoords ", + "TwistCoords", + "ControlPointMapScalarToScalar", + "ControlPointMapScalarToColor", + "FalloffMapping", + "VectorToColor", + "CombineScalarsToVector", + "CombineScalarsToColor", + "SplitVectorToScalars", + "SplitColorToScalars", + "LengthOfVector", + "NormalizeVector", + "ExternalColor", + "FunctionScalarToScalar", + "FunctionVectorToColor", + "FunctionVectorToVector", + "FunctionVectorToScalar", + "BinaryOperatorColor", + "BinaryOperatorVector", + "BinaryOperatorScalar", + "MultiplyColor", + "MultiplyVector", + "MultiplyScalar" + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Graph: + return Graph() + def getNode(self, name: str) -> GraphNode: + """ + Get node with the given name. + name : Name to search for. + The node if found, null otherwise. + """ + return GraphNode() + def getOutputNode(self, outputNodeType: GraphOutputNodeTypes) -> GraphNode: + """ + Get one of the special graph output nodes. Every graph has one or more, the cannot be created or added. + The final output pins of the graph nodes should be connected to these to make a useful graph. + outputNodeType : The type of the output graph node. + Not every graph has every type; the primary graph has all four ouput node types, the cell graph only has OutputDensity. + The output node if present in the graph, null otherwise. + """ + return GraphNode() + def addNode(self, name: str, nodeType: str) -> GraphNode: + """ + Add a new node to the graph. Node names are unique, attempting to add two nodes with the same name produces an error. + name : Name of the new node. + nodeType : The node type string, one of the types listed in the documentation. + The new node if it could be added, null otherwise. + """ + return GraphNode() + def getNodeInputPinConnector(self, node: GraphNode, inputPinIndex: int) -> GraphConnector: + """ + Get an upstream connection to the node's input pin. + node : The node in question. + inputPinIndex : The index of the input pin of the node. + An array of GraphConnector objects, one for each connection to another node. + """ + return GraphConnector() + def getNodeOutputPinConnectors(self, node: GraphNode, outputPinIndex: int) -> list[GraphConnector]: + """ + Get an array of downstream connections from the node's output pin. + node : The node in question. + outputPinIndex : The index of the output pin of the node. + An array of GraphConnector objects, one for each connection to another node. + """ + return [GraphConnector()] + def connect(self, outputNode: GraphNode, outputPinIndex: int, inputNode: GraphNode, inputPinIndex: int) -> bool: + """ + Create a connection between nodes. + outputNode : The node where the connection starts. + outputPinIndex : The index of the output pin on the start node. + inputNode : The node where the connection ends. + inputPinIndex : The index of the input pin on the end node. + + """ + return bool() + def disconnect(self, outputNode: GraphNode, outputPinIndex: int, inputNode: GraphNode, inputPinIndex: int) -> bool: + """ + Delete a connection between nodes. + outputNode : The node where the connection starts. + outputPinIndex : The index of the output pin on the start node. + inputNode : The node where the connection ends. + inputPinIndex : The index of the input pin on the end node. + + """ + return bool() + def canEvaluateGraph(self) -> bool: + """ + Check if all the channels in the graph can be evaluated and in a good state. + True if this graph can be evaluated, false otherwise. + """ + return bool() + @property + def allNodes(self) -> list[GraphNode]: + """ + Get all the nodes in the graph, including the output nodes. + An array of nodes. + """ + return [GraphNode()] + @property + def allPossibleNodeTypes(self) -> list[str]: + """ + Get all the possible node types that can be used as the nodeType parameter for addNode. + """ + return [str()] + @property + def allGraphConnectors(self) -> list[GraphConnector]: + """ + Get all the connectors in the graph. + An array of node connector objects, one for each connection between two nodes, unordered. + """ + return [GraphConnector()] + +class GraphConnector(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + A simple read-only structure that represents a connection beween two nodes' pins in the graph. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> GraphConnector: + return GraphConnector() + @property + def sourceGraphNode(self) -> GraphNode: + """ + The node on the output of which this connector starts. + """ + return GraphNode() + @property + def sourcePinIndex(self) -> int: + """ + The output pin index of the start node. + """ + return int() + @property + def targetGraphNode(self) -> GraphNode: + """ + The node on the input of which this connector ends. + """ + return GraphNode() + @property + def targetPinIndex(self) -> int: + """ + The intput pin index of the end node. + """ + return int() + +class GraphNode(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + An individual node within a graph. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> GraphNode: + return GraphNode() + def deleteMe(self) -> bool: + """ + Deletes the graphNode and all of its connections. + Returns true in the case where the deletion was successful. + All properties and proery objects of this node will become invalid after this call. + Output nodes cannot be deleted. + """ + return bool() + def getInputPinCount(self) -> int: + """ + How many input pins does this node have. + Pin count. + """ + return int() + def getInputPinName(self, pinIndex: int) -> str: + """ + The name of this graph node input pin describing its function. + pinIndex : Zero based index of the pin to get. Should be less than the pin count. + """ + return str() + def getInputPinType(self, pinIndex: int) -> NodePinTypes: + """ + Get the type of the node input pin. + pinIndex : Zero based index of the pin to get. Should be less than the pin count. + The pin type enum. + """ + return NodePinTypes() + def isInputPinOptional(self, pinIndex: int) -> bool: + """ + Some input pins can be optional, so they do not need to be connected for the node to work. + pinIndex : Zero based index of the pin to get. Should be less than the pin count. + True if pin is optional, false if it is required. + """ + return bool() + def getOutputPinCount(self) -> int: + """ + How many output pins does this node have. + Pin count. + """ + return int() + def getOutputPinName(self, pinIndex: int) -> str: + """ + The name of this graph node input pin describing its function. + pinIndex : Zero based index of the pin to get. Should be less than the pin count. + """ + return str() + def getOutputPinType(self, pinIndex: int) -> NodePinTypes: + """ + Get the type of the node output pin. + pinIndex : Zero based index of the pin to get. Should be less than the pin count. + The pin type enum. + """ + return NodePinTypes() + def hasValidProperties(self) -> bool: + """ + Check if the graph node properties are valid. + True if the node has good inputs for its properties, false otherwise. + """ + return bool() + @property + def name(self) -> str: + """ + The name of this graph node as give on creation. Node names for each graph should be unique. + """ + return str() + @name.setter + def name(self, value: str): + """ + The name of this graph node as give on creation. Node names for each graph should be unique. + """ + pass + @property + def nodeType(self) -> str: + """ + Get the string node type that is was created with. + """ + return str() + @property + def description(self) -> str: + """ + A user readable description that explains the function of this node type. + """ + return str() + @property + def properties(self) -> GraphNodeProperties: + """ + Get a collection of all node properties supported by this node. + An object containing node properties. + """ + return GraphNodeProperties() + +class GraphNodeProperties(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + A collection of properties of a graph node. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> GraphNodeProperties: + return GraphNodeProperties() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> GraphNodeProperty: + return None + def __iter__(self) -> Iterator[GraphNodeProperty]: + return None + def item(self, index: int) -> GraphNodeProperty: + """ + Function that returns the specified property 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 GraphNodeProperty() + def itemByName(self, propertyName: str) -> GraphNodeProperty: + """ + Returns the property with the specified internal name. + propertyName : The id of the property. + Returns the specified property or null in the case where there is no property with the specified id. + """ + return GraphNodeProperty() + @property + def count(self) -> int: + """ + The number of items in the collection. + """ + return int() + +class GraphNodeProperty(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Class for representing a property of a graph node. These can be of many types. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> GraphNodeProperty: + return GraphNodeProperty() + @property + def name(self) -> str: + """ + Gets the internal name of the property. + """ + return str() + @property + def description(self) -> str: + """ + Returns the description of this property. + This description is localized and can change based on the current language. + """ + return str() + +class ScalarControlPoint(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + A read-only structure that represents a control point used in ScalarControlPointMapGraphNodeProperty. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ScalarControlPoint: + return ScalarControlPoint() + @property + def parameter(self) -> float: + """ + The parameter inside the input domain of the control point map for this point. + """ + return float() + @property + def value(self) -> float: + """ + The output double value of the control point for this point. + """ + return float() + @property + def interpolator(self) -> ControlPointInterpolators: + """ + The interpolator function. + """ + return ControlPointInterpolators() + +class VolumetricModel(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + The main volumetric graph object. It has a parent component and is defined in this parent component's space. + It also contains the primary and cell graphs. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> VolumetricModel: + return VolumetricModel() + def getGraph(self, graphType: GraphTypes) -> Graph: + """ + Returns a graph from the volumetric model. + graphType : Which kind of graph to return. + + """ + return Graph() + def registerCustomSDFCallback(self, id: str, callback: CustomSDFCallbackEventHandler) -> bool: + """ + Handling for custom Signed Distance Field callback events. These can be registered by the API client, + they will provide a string ID and a handler object that implements the abstract methods. + To use the callback, a GeometryGraphNodeProperty's customSDFCallbackID should be set to the same string ID. + + Register a custom Signed Distance Field callback handler with a given ID. + id : The ID to be used in a GeometryGraphNodeProperty's customSDFCallbackID. + callback : The callback object implemented by the client. + True if registered successfully. False otherwise. + """ + return bool() + def removeCustomSDFCallback(self, id: str) -> bool: + """ + De-register the Signed Distance Field callback handler with the given ID. + id : The ID used in registerCustomSDFCallback() + True if removed successfully. False otherwise. + """ + return bool() + def createSampler(self) -> VolumetricSampler: + """ + Creates a VolumetricSampler object that can be used to sample the volumetric model. + Returns a VolumetricSampler object that will sample this VolumetricModel. + """ + return VolumetricSampler() + @property + def isLightBulbOn(self) -> bool: + """ + Is the light bulb / eye (as displayed in the browser) controlling the model's visibility on. + """ + return bool() + @isLightBulbOn.setter + def isLightBulbOn(self, value: bool): + """ + Is the light bulb / eye (as displayed in the browser) controlling the model's visibility on. + """ + pass + @property + def parentComponent(self) -> fusion.Component: + """ + Returns the parent Component. + """ + return fusion.Component() + @property + def boundaryBody(self) -> core.Base: + """ + Get or set the main boundary body for this volumetric model. + The volumetric model is bound by the axis aligned bounding box and will only be + rendered within this body. + """ + return core.Base() + +class VolumetricSample(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + The VolumetricSamples object which is a base class for containing the result of sampling the volumetric model an array of points. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> VolumetricSample: + return VolumetricSample() + @property + def point(self) -> core.Point3D: + """ + Gets the location of the sample evalution. + """ + return core.Point3D() + +class VolumetricSampler(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + The VolumetricSampler object which is used for controled sampling of the volumetric model. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> VolumetricSampler: + return VolumetricSampler() + def setSamplePoints(self, samplePoints: list[core.Point3D]) -> bool: + """ + Sets sample points to be used for sampling the volumetric model. + samplePoints : The sample points to be used for sampling the volumetric model. + True if the sample points were set successfully. + """ + return bool() + def addSamplePoints(self, samplePoints: list[core.Point3D]) -> bool: + """ + Appends sample points to the existing sample points to be used for sampling the volumetric model. + samplePoints : The sample points to be added to the sampler. + """ + return bool() + def clearSamplePoints(self) -> bool: + """ + Clears the sample points that have been set for sampling the volumetric model. + True if the sample points were successfully cleared. + """ + return bool() + def setBoundingBoxSampling(self, elementSize: float, boundingBox3d: core.BoundingBox3D) -> bool: + """ + Calculates and sets the sample points to be used for sampling the volumetric model for a given resolution throughout + the bounding box provided. This will override any previously set sample points. + elementSize : The approximate spacing between sample points. The units used for the element size are centimeters. + boundingBox3d : The bounding box in which the sample points will be distributed. + True if the sample points were set successfully. + """ + return bool() + def setPlaneSampling(self, elementSize: float, plane: core.Plane, primaryAxis: core.Vector3D, primaryAxisSize: float, secondaryAxisSize: float) -> bool: + """ + Calculates and sets the sample points to be used for sampling the volumetric model for a given resolution, plane + and primary axis. The points will be distributed in a grid pattern on the plane, starting at the plane origin and + extend in the primary axis and secodary axis for the axis size arguments. The secondary axis is calculated from the + cross product of the plane normal and the primary axis. This will override any previously set sample points. + elementSize : The approximate spacing between sample points. The units used for the element size are centimeters. + plane : The plane on which the points will be distributed. + primaryAxis : The primary axis of the plane. This vector should be on the plane. The secondary axis + of the plane is calculated as the cross-product of the plane normal and the primary axis + primaryAxisSize : The size of the plane in the primary axis direction. + secondaryAxisSize : The size of the plane in the secondary axis direction. + True if the sample points were set successfully. + """ + return bool() + def samplePointCount(self) -> int: + """ + Gets the number of sample points that will be used for sampling the volumetric model. + The number of sample points that will be used for sampling the volumetric model. + """ + return int() + def evaluate(self, graphNode: GraphNode, isOutput: bool = True, index: int = 0) -> list[VolumetricSample]: + """ + Evaluates the volumetric model at the previously set sample points for the given node and returns the results. + graphNode : The graph node to evaluate at the sample points. + isOutput : Optional argument that controls the sampling. If set to true samples an output pin, if set to false samples an input pin. Default is True. + index : Optional argument that controls the index of the pin to sample. Default is 0 which is the first pin. + An array of VolumetricSample objects that contain the results of sampling the volumetric model. + """ + return [VolumetricSample()] + def evaluateDensity(self) -> list[VolumetricScalarSample]: + """ + Evaluates the density of the model at the previously set sample points and returns the results. This value + is what is used to determine the level set of the model. + An array of VolumetricScalarSample objects that contain the results of sampling the volumetric model. + """ + return [VolumetricScalarSample()] + def evaluateLevelSet(self) -> list[VolumetricScalarSample]: + """ + Evaluates the level set function of the model at the previously set sample points and returns the results. + An array of VolumetricScalarSample objectst that contain the results of sampling the volumetric model. + """ + return [VolumetricScalarSample()] + def evaluateColor(self) -> list[VolumetricColorSample]: + """ + Evaluates the color of the model at the previously set sample points and returns the results. + An array of VolumetricColorSample objects that contain the results of sampling the volumetric model. + """ + return [VolumetricColorSample()] + +class BooleanGraphNodeProperty(GraphNodeProperty): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + A property value that is a boolean. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> BooleanGraphNodeProperty: + return BooleanGraphNodeProperty() + @property + def value(self) -> bool: + """ + Get or set the value of the property. + """ + return bool() + @value.setter + def value(self, value: bool): + """ + Get or set the value of the property. + """ + pass + +class ColorControlPointMapGraphNodeProperty(GraphNodeProperty): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + A property value that defines a complex mapping curve from an input domain of double values to + an output range of color values. The mapping is represented by a set of points ordered by + their domain value parameters. For a given input value, the output value is interpolated from the values + of the two points before and after it using the specified interpolation function for each point. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ColorControlPointMapGraphNodeProperty: + return ColorControlPointMapGraphNodeProperty() + def getPoint(self, index: int) -> ColorControlPoint: + """ + Get the point at index. + index : Index of the point to get. + The control point at this index. + """ + return ColorControlPoint() + def addPoint(self, parameter: float, value: core.Color, interpolator: ControlPointInterpolators) -> bool: + """ + Add a point to the map. + parameter : Where in the input domain where the point lies. + value : The color value of the parameter in the output domain. + interpolator : The function used to interpolate an output value for a input parameter between this point and the next. + True if successfully added. + """ + return bool() + def removePoint(self, index: int) -> bool: + """ + Remove a point from the map. + index : Index of the point to remove. + True if successfully removed. + """ + return bool() + def clear(self) -> bool: + """ + Remove all points from the map. + True if successfully cleared. + """ + return bool() + @property + def pointCount(self) -> int: + """ + The number of points. + Total point count. + """ + return int() + +class ColorGraphNodeProperty(GraphNodeProperty): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + A property value that is a color. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ColorGraphNodeProperty: + return ColorGraphNodeProperty() + @property + def value(self) -> core.Color: + """ + Get or set the value of the property. + """ + return core.Color() + @value.setter + def value(self, value: core.Color): + """ + Get or set the value of the property. + """ + pass + +class GeometryGraphNodeProperty(GraphNodeProperty): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + A property value that represents a link to a geometric object. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> GeometryGraphNodeProperty: + return GeometryGraphNodeProperty() + @property + def value(self) -> list[core.Base]: + """ + Get or set the value of the property. This should be one or more CAD geometry objects, + such as a BREP or mesh bodies, faces or sketch curves. Setting this will override any + value set by customSDFCallbackID. + """ + return [core.Base()] + @value.setter + def value(self, value: list[core.Base]): + """ + Get or set the value of the property. This should be one or more CAD geometry objects, + such as a BREP or mesh bodies, faces or sketch curves. Setting this will override any + value set by customSDFCallbackID. + """ + pass + @property + def customSDFCallbackID(self) -> str: + """ + The ID of a custom Signed Distance Field callback object registered with CustomSDFCallbackRegistry. + Setting this will override any CAD geometry set previously. + """ + return str() + @customSDFCallbackID.setter + def customSDFCallbackID(self, value: str): + """ + The ID of a custom Signed Distance Field callback object registered with CustomSDFCallbackRegistry. + Setting this will override any CAD geometry set previously. + """ + pass + @property + def beamNetwork(self) -> BeamNetwork: + """ + Set the value of the property. The value should be a BeamNetwork object, + which defines the geometry by defining vertices, beams and radii of the beams. + """ + return BeamNetwork() + @beamNetwork.setter + def beamNetwork(self, value: BeamNetwork): + """ + Set the value of the property. The value should be a BeamNetwork object, + which defines the geometry by defining vertices, beams and radii of the beams. + """ + pass + +class IntegerGraphNodeProperty(GraphNodeProperty): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + A property value that is an integer. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> IntegerGraphNodeProperty: + return IntegerGraphNodeProperty() + @property + def value(self) -> int: + """ + Get or set the value of the property. + """ + return int() + @value.setter + def value(self, value: int): + """ + Get or set the value of the property. + """ + pass + +class Matrix3DGraphNodeProperty(GraphNodeProperty): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + A property value that is a 3D Matrix. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Matrix3DGraphNodeProperty: + return Matrix3DGraphNodeProperty() + @property + def value(self) -> core.Matrix3D: + """ + Get or set the value of the property. + """ + return core.Matrix3D() + @value.setter + def value(self, value: core.Matrix3D): + """ + Get or set the value of the property. + """ + pass + +class ScalarControlPointMapGraphNodeProperty(GraphNodeProperty): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + A property value that defines a complex mapping curve from an input domain of double values to + an output range of double values. The mapping is represented by a set of points ordered by + their domain value parameters. For a given input value, the output value is interpolated from the values + of the two points before and after it using the specified interpolation function for each point. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ScalarControlPointMapGraphNodeProperty: + return ScalarControlPointMapGraphNodeProperty() + def getPoint(self, index: int) -> ScalarControlPoint: + """ + Get the point at index. + index : Index of the point to get. + The control point at this index. + """ + return ScalarControlPoint() + def addPoint(self, parameter: float, value: float, interpolator: ControlPointInterpolators) -> bool: + """ + Add a point to the map. + parameter : Where in the input domain where the point lies. + value : The double value of the parameter in the output domain. + interpolator : The function used to interpolate an output value for a input parameter between this point and the next. + True if successfully added. + """ + return bool() + def removePoint(self, index: int) -> bool: + """ + Remove a point from the map. + index : Index of the point to remove. + True if successfully removed. + """ + return bool() + def clear(self) -> bool: + """ + Remove all points from the map. + True if successfully cleared. + """ + return bool() + @property + def pointCount(self) -> int: + """ + The number of points. + Total point count. + """ + return int() + +class ScalarGraphNodeProperty(GraphNodeProperty): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + A property value that is a floating point value. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ScalarGraphNodeProperty: + return ScalarGraphNodeProperty() + @property + def value(self) -> float: + """ + Get or set the value of the property. + """ + return float() + @value.setter + def value(self, value: float): + """ + Get or set the value of the property. + """ + pass + +class StringGraphNodeProperty(GraphNodeProperty): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + A property value that is a string. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> StringGraphNodeProperty: + return StringGraphNodeProperty() + @property + def value(self) -> str: + """ + Get or set the value of the property. + """ + return str() + @value.setter + def value(self, value: str): + """ + Get or set the value of the property. + """ + pass + +class TransformRefGraphNodeProperty(GraphNodeProperty): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + A property value that is provides a transform to a node. This is set with an Occurrence of a Component. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> TransformRefGraphNodeProperty: + return TransformRefGraphNodeProperty() + @property + def value(self) -> fusion.Occurrence: + """ + Get or set the value of the property. This should be the occurrence of a component. + """ + return fusion.Occurrence() + @value.setter + def value(self, value: fusion.Occurrence): + """ + Get or set the value of the property. This should be the occurrence of a component. + """ + pass + +class Vector3DGraphNodeProperty(GraphNodeProperty): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + A property value that is a 3D vector. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> Vector3DGraphNodeProperty: + return Vector3DGraphNodeProperty() + @property + def value(self) -> core.Vector3D: + """ + Get or set the value of the property. + """ + return core.Vector3D() + @value.setter + def value(self, value: core.Vector3D): + """ + Get or set the value of the property. + """ + pass + +class VolumetricColorSample(VolumetricSample): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + The VolumetricColorSample object which contains the result of sampling a color value from the volumetric model at a point. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> VolumetricColorSample: + return VolumetricColorSample() + @property + def value(self) -> core.Color: + """ + Gets the color value at the sample point. + """ + return core.Color() + +class VolumetricScalarSample(VolumetricSample): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + The VolumetricScalarSample object which contains the result of sampling a scalar value from the volumetric model at a point. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> VolumetricScalarSample: + return VolumetricScalarSample() + @property + def value(self) -> float: + """ + Gets the scalar value at the sample point. + """ + return float() + +class VolumetricVectorSample(VolumetricSample): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + The VolumetricVectorSample object which contains the result of sampling a vector value from the volumetric model at a point. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> VolumetricVectorSample: + return VolumetricVectorSample() + @property + def value(self) -> core.Vector3D: + """ + Gets the vector value at the sample point. + """ + return core.Vector3D() From 2764be032f15c6cdca0c4f0ef6501585bf6edaf9 Mon Sep 17 00:00:00 2001 From: Marius-Juston Date: Fri, 23 Jan 2026 18:05:26 -0600 Subject: [PATCH 2/2] updated API --- adsk/cam.py | 196 ++---- adsk/core.py | 72 +- adsk/fusion.py | 1764 ++++++++++++++++++++++++++++++++++++++++-------- adsk/sim.py | 22 + 4 files changed, 1599 insertions(+), 455 deletions(-) diff --git a/adsk/cam.py b/adsk/cam.py index 9d5bfab..6f3c3b2 100644 --- a/adsk/cam.py +++ b/adsk/cam.py @@ -138,6 +138,7 @@ class GeneratedDataType(): def __init__(self): pass OptimizedOrientationGeneratedDataType = 0 + AdditiveFEAGeneratedDataType = 1 class HoleSegmentType(): """ @@ -207,10 +208,6 @@ def __init__(self): class MachineCoolant(): """ - !!!!! Warning !!!!! - ! This is in preview state; please see the help for more info - !!!!! Warning !!!!! - Enumeration of possible coolants that a machine can use. """ def __init__(self): @@ -1989,25 +1986,6 @@ def __init__(self): def cast(arg) -> Machine: return Machine() @staticmethod - def createFromTemplate(machineTemplate: MachineTemplate) -> Machine: - """ - Creates a Machine from a template. - machineTemplate : The template to act as a base for creating a machine from. - Returns the newly created machine with a valid kinematics tree. - """ - return Machine() - @staticmethod - def createFromFile(location: LibraryLocations, filePath: str) -> Machine: - """ - Creates a Machine from a file. - location : The location in the machine library. - filePath : The path to a file to act as a base for creating a machine from. - The path is relative to the library location given, unless library location is External, - then the filePath is expected to be an absolute path. - Returns the newly created machine with a valid kinematics tree. - """ - return Machine() - @staticmethod def create(machineInput: MachineInput) -> Machine: """ Creates a machine from a "MachineInput" input object @@ -2024,10 +2002,6 @@ def equivalentTo(self, machine: Machine) -> bool: return bool() def clearSimulationModel(self) -> None: """ - !!!!! Warning !!!!! - ! This is in preview state; please see the help for more info - !!!!! Warning !!!!! - Clears the simulation model from the machine. """ pass @@ -2110,10 +2084,6 @@ def elements(self) -> MachineElements: @property def hasSimulationModel(self) -> bool: """ - !!!!! Warning !!!!! - ! This is in preview state; please see the help for more info - !!!!! Warning !!!!! - Returns true if the machine has a simulation model attached. """ return bool() @@ -2257,10 +2227,6 @@ def physicalRange(self, value: MachineAxisRange): @property def toolChangePosition(self) -> float: """ - !!!!! Warning !!!!! - ! This is in preview state; please see the help for more info - !!!!! Warning !!!!! - Specifies the value that this axis returns to, prior to a tool change. Units are cm for linear axes or radians for rotary axes. Will return NaN if tool change position isn't set. @@ -2269,10 +2235,6 @@ def toolChangePosition(self) -> float: @toolChangePosition.setter def toolChangePosition(self, value: float): """ - !!!!! Warning !!!!! - ! This is in preview state; please see the help for more info - !!!!! Warning !!!!! - Specifies the value that this axis returns to, prior to a tool change. Units are cm for linear axes or radians for rotary axes. Will return NaN if tool change position isn't set. @@ -2477,10 +2439,6 @@ def physicalRange(self, value: MachineAxisRange): @property def toolChangePosition(self) -> float: """ - !!!!! Warning !!!!! - ! This is in preview state; please see the help for more info - !!!!! Warning !!!!! - Specifies the value that this axis returns to, prior to a tool change. Units are cm for linear axes or radians for rotary axes. """ @@ -2488,10 +2446,6 @@ def toolChangePosition(self) -> float: @toolChangePosition.setter def toolChangePosition(self, value: float): """ - !!!!! Warning !!!!! - ! This is in preview state; please see the help for more info - !!!!! Warning !!!!! - Specifies the value that this axis returns to, prior to a tool change. Units are cm for linear axes or radians for rotary axes. """ @@ -2906,10 +2860,6 @@ def spindle(self) -> MachineSpindle: @property def toolStation(self) -> MachineToolStation: """ - !!!!! Warning !!!!! - ! This is in preview state; please see the help for more info - !!!!! Warning !!!!! - Get the tool station object for this part. Will return null if the part has no tool station assigned. """ @@ -2943,10 +2893,6 @@ def createSpindleInput(self) -> MachineSpindleInput: return MachineSpindleInput() def createToolStationInput(self) -> MachineToolStationInput: """ - !!!!! Warning !!!!! - ! This is in preview state; please see the help for more info - !!!!! Warning !!!!! - Creates a new MachineToolStationInput object to be used to create a new MachineToolStation. Returns new MachineToolStationInput object. """ @@ -3004,10 +2950,6 @@ def spindleInput(self, value: MachineSpindleInput): @property def toolStationInput(self) -> MachineToolStationInput: """ - !!!!! Warning !!!!! - ! This is in preview state; please see the help for more info - !!!!! Warning !!!!! - Gets or sets an tool station input object to create a new MachineToolStation with this part. Only valid when partType is not Axis. """ @@ -3015,10 +2957,6 @@ def toolStationInput(self) -> MachineToolStationInput: @toolStationInput.setter def toolStationInput(self, value: MachineToolStationInput): """ - !!!!! Warning !!!!! - ! This is in preview state; please see the help for more info - !!!!! Warning !!!!! - Gets or sets an tool station input object to create a new MachineToolStation with this part. Only valid when partType is not Axis. """ @@ -3196,60 +3134,36 @@ def minSpeed(self, value: float): @property def power(self) -> float: """ - !!!!! Warning !!!!! - ! This is in preview state; please see the help for more info - !!!!! Warning !!!!! - Specifies the power (kW) for this spindle. """ return float() @power.setter def power(self, value: float): """ - !!!!! Warning !!!!! - ! This is in preview state; please see the help for more info - !!!!! Warning !!!!! - Specifies the power (kW) for this spindle. """ pass @property def peakTorque(self) -> float: """ - !!!!! Warning !!!!! - ! This is in preview state; please see the help for more info - !!!!! Warning !!!!! - Specifies the peak torque (Nm) for this spindle. """ return float() @peakTorque.setter def peakTorque(self, value: float): """ - !!!!! Warning !!!!! - ! This is in preview state; please see the help for more info - !!!!! Warning !!!!! - Specifies the peak torque (Nm) for this spindle. """ pass @property def peakTorqueSpeed(self) -> float: """ - !!!!! Warning !!!!! - ! This is in preview state; please see the help for more info - !!!!! Warning !!!!! - Specifies the speed (rpm) at which this spindle reaches peak torque (Nm). """ return float() @peakTorqueSpeed.setter def peakTorqueSpeed(self, value: float): """ - !!!!! Warning !!!!! - ! This is in preview state; please see the help for more info - !!!!! Warning !!!!! - Specifies the speed (rpm) at which this spindle reaches peak torque (Nm). """ pass @@ -3302,70 +3216,42 @@ def minSpeed(self, value: float): @property def power(self) -> float: """ - !!!!! Warning !!!!! - ! This is in preview state; please see the help for more info - !!!!! Warning !!!!! - Specifies the power for this spindle. """ return float() @power.setter def power(self, value: float): """ - !!!!! Warning !!!!! - ! This is in preview state; please see the help for more info - !!!!! Warning !!!!! - Specifies the power for this spindle. """ pass @property def peakTorque(self) -> float: """ - !!!!! Warning !!!!! - ! This is in preview state; please see the help for more info - !!!!! Warning !!!!! - Specifies the peak torque for this spindle. """ return float() @peakTorque.setter def peakTorque(self, value: float): """ - !!!!! Warning !!!!! - ! This is in preview state; please see the help for more info - !!!!! Warning !!!!! - Specifies the peak torque for this spindle. """ pass @property def peakTorqueSpeed(self) -> float: """ - !!!!! Warning !!!!! - ! This is in preview state; please see the help for more info - !!!!! Warning !!!!! - Specifies the peak torque speed for this spindle. """ return float() @peakTorqueSpeed.setter def peakTorqueSpeed(self, value: float): """ - !!!!! Warning !!!!! - ! This is in preview state; please see the help for more info - !!!!! Warning !!!!! - Specifies the peak torque speed for this spindle. """ pass class MachineToolStation(core.Base): """ - !!!!! Warning !!!!! - ! This is in preview state; please see the help for more info - !!!!! Warning !!!!! - Object representing a tool station on the machine """ def __init__(self): @@ -3430,10 +3316,6 @@ def coolants(self, value: list[int]): class MachineToolStationInput(core.Base): """ - !!!!! Warning !!!!! - ! This is in preview state; please see the help for more info - !!!!! Warning !!!!! - Object representing the set of inputs required to create a new MachineToolStation. """ def __init__(self): @@ -4820,14 +4702,6 @@ def __init__(self): @staticmethod def cast(arg) -> PostConfiguration: return PostConfiguration() - @staticmethod - def createFromContent(content: str) -> PostConfiguration: - """ - Creates a PostConfiguration from a file content. - content : The content string of a PostConfiguration file to act as a base for creating a PostConfiguration from. - Returns the newly created PostConfiguration. - """ - return PostConfiguration() @property def vendor(self) -> str: """ @@ -5008,6 +4882,16 @@ def isCompatibleWithMachine(self, machine: Machine) -> bool: Checks whether the print setting is usable with the given machine. """ return bool() + def toXML(self) -> str: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Generates and returns the print setting xml content string. + Returns print setting xml content string. + """ + return str() @property def name(self) -> str: """ @@ -5219,13 +5103,6 @@ def __init__(self): 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() - @staticmethod def recognizeHolesWithInput(bodies: list[core.Base], input: RecognizedHolesInput) -> RecognizedHoles: """ Returns a collection of all recognized holes. @@ -5332,13 +5209,6 @@ def __getitem__(self, index: int) -> RecognizedHole: 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() - @staticmethod def recognizeHoleGroupsWithInput(bodies: list[core.Base], input: RecognizedHolesInput) -> RecognizedHoleGroups: """ Gets all recognized holes and returns them as hole groupings based on similar geometry. @@ -6025,15 +5895,6 @@ def createFromP21(p21: str) -> Tool: Returns the newly created Tool. """ return Tool() - @staticmethod - def createFromP21File(filename: str) -> Tool: - """ - Creates a Tool object given a P21 file. - Throws an error if the given file is not a valid P21 file. - filename : The full filename of the P21 file to use to create the Tool. - Returns the newly created Tool. - """ - return Tool() def toJson(self) -> str: """ Generates and returns a JSON string that contains a description of this tool. @@ -6053,6 +5914,15 @@ def presets(self) -> ToolPresets: Gets the ToolPresets collection associated with this tool. """ return ToolPresets() + @property + def description(self) -> str: + """ + Gets the descriptive text about the tool. + Includes various pieces of information depending on the tool type. + Usually contains the tool number, data describing the tool geometry and the description. + In the UI, the same information is displayed in the operation tree or in the tool library table. + """ + return str() class ToolLibrary(core.Base): """ @@ -7261,6 +7131,28 @@ def volumetricDataResolution(self, value: int): The default value is 128. """ pass + @property + def isSliceDataIncluded(self) -> bool: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Flag toggling if slice data which has been generated beforehand by generating the entire setup or the additive toolpath object should be included in the exported file. + The default value is false. + """ + return bool() + @isSliceDataIncluded.setter + def isSliceDataIncluded(self, value: bool): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Flag toggling if slice data which has been generated beforehand by generating the entire setup or the additive toolpath object should be included in the exported file. + The default value is false. + """ + pass class CAMAdditiveBuildExportOptions(CAMExportOptions): """ @@ -8760,10 +8652,6 @@ def childPostConfigurations(self, url: core.URL) -> list[PostConfiguration]: class PostProcessingMachineElement(MachineElement): """ - !!!!! Warning !!!!! - ! This is in preview state; please see the help for more info - !!!!! Warning !!!!! - Machine element representing the post processor and post properties. """ def __init__(self): diff --git a/adsk/core.py b/adsk/core.py index 66b36c5..838adbb 100644 --- a/adsk/core.py +++ b/adsk/core.py @@ -553,6 +553,7 @@ def __init__(self): PromptForLanguage = 0 PythonProgrammingLanguage = 1 CPPProgramminglanguage = 2 + TypeScriptProgrammingLanguage = 3 class ProjectedTextureMapTypes(): """ @@ -702,10 +703,9 @@ class UserInterfaceThemes(): """ def __init__(self): pass - ClassicUserInterfaceTheme = 0 LightGrayUserInterfaceTheme = 1 DarkBlueUserInterfaceTheme = 2 - DarkGrayUserInterfaceTheme = 3 + DeviceUserInterfaceTheme = 4 class UserLanguages(): """ @@ -2478,6 +2478,60 @@ def isMultiSelectEnabled(self, value: bool): """ pass +class CloudFolderDialog(Base): + """ + Represents a cloud folder dialog, which is a dialog that is used to prompt the user + to select a folder on the Fusion web client. It is created by using the + UserInterface.createCloudFolderDialog method. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CloudFolderDialog: + return CloudFolderDialog() + def showDialog(self) -> DialogResults: + """ + Displays a modal dialog allowing the user to select a folder. The return value + can be used to determine if the dialog was canceled without selecting a folder. + The dataFolder property can be used to get the selected folder. + 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 initialFolder(self) -> DataFolder: + """ + Before the dialog is displayed this is used to get and set the initial folder that is shown when + the dialog is displayed. It defaults to the DataFolder that is currently active in the Data Panel. + """ + return DataFolder() + @initialFolder.setter + def initialFolder(self, value: DataFolder): + """ + Before the dialog is displayed this is used to get and set the initial folder that is shown when + the dialog is displayed. It defaults to the DataFolder that is currently active in the Data Panel. + """ + pass + @property + def dataFolder(self) -> DataFolder: + """ + Gets the folder selected by the user in the dialog. This property is + used after the showDialog method has been called to retrieve the folder + selected by the user. + """ + return DataFolder() + class Color(Base): """ The Color class wraps all of the information that defines a simple color. @@ -6668,6 +6722,13 @@ def userInterfaceTheme(self, value: UserInterfaceThemes): Gets and sets which color theme is used by the user interface. """ pass + @property + def activeUserInterfaceTheme(self) -> UserInterfaceThemes: + """ + Gets the active user interface theme. This property is only different from userInterfaceTheme + in the case the theme is DeviceUserInterfaceTheme. In that case the theme used will be returned. + """ + return UserInterfaceThemes() class GraphicsPreferences(Base): """ @@ -13175,6 +13236,13 @@ def createCloudFileDialog(self) -> CloudFileDialog: Returns the created CloudFileDialog object that you can use to define the contents of and display a standard file dialog. """ return CloudFileDialog() + def createCloudFolderDialog(self) -> CloudFolderDialog: + """ + Creates a new CloudFolderDialog object which provides the ability to show a folder selection dialog + to the user that allows them to choose a folder from Fusion web client. + Returns the created CloudFolderDialog object that you can use to define the contents of and display a cloud folder dialog. + """ + return CloudFolderDialog() @property def activeSelections(self) -> Selections: """ diff --git a/adsk/fusion.py b/adsk/fusion.py index 9410ec3..dcbafb3 100644 --- a/adsk/fusion.py +++ b/adsk/fusion.py @@ -40,6 +40,16 @@ def __init__(self): Arrange2DRectangularSolverType = 1 Arrange3DSolverType = 2 +class AutoLookAtSketchSettings(): + """ + The different options for the AutoLookAtSketch preference setting. + """ + def __init__(self): + pass + OffAutoLookAtSketchSetting = 0 + UserCameraAutoLookAtSketchSetting = 1 + AlwaysOrthographicAutoLookAtSketchSetting = 2 + class BendPositionTypes(): """ Bend location types used for creating flanges and hems. @@ -281,6 +291,80 @@ def __init__(self): TaperedSize_DesignationColumns = 5 TaperedDesignationColumns = 6 +class CornerBendTransitionTypes(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + The different bend transition types for corner closures. + """ + def __init__(self): + pass + SmoothCornerBendTransitionType = 0 + StraightLineCornerBendTransitionType = 1 + TrimToBendCornerBendTransitionType = 2 + +class CornerClosureFeatureDefinitionTypes(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + The different types of corner closures that can be created. + """ + def __init__(self): + pass + UndefinedCornerClosureFeatureDefinitionType = 0 + TwoBendCornerClosureFeatureDefinitionType = 1 + ThreeBendCornerClosureFeatureDefinitionType = 2 + +class CornerThreeBendReliefShapeTypes(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + The different relief shapes for three-bend corner closures. + """ + def __init__(self): + pass + NoReplacementCornerThreeBendReliefShapeType = 0 + IntersectionCornerThreeBendReliefShapeType = 1 + FullRoundCornerThreeBendReliefShapeType = 2 + RoundWithRadiusCornerThreeBendReliefShapeType = 3 + +class CornerTwoBendReliefPlacementTypes(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + The different placement types for two-bend corner relief. + """ + def __init__(self): + pass + TangentCornerTwoBendReliefPlacementType = 0 + IntersectionCornerTwoBendReliefPlacementType = 1 + +class CornerTwoBendReliefShapeTypes(): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + The different relief shapes for two-bend corner closures. + """ + def __init__(self): + pass + RoundCornerTwoBendReliefShapeType = 0 + SquareCornerTwoBendReliefShapeType = 1 + TearCornerTwoBendReliefShapeType = 2 + TrimToBendCornerTwoBendReliefShapeType = 3 + LinearWeldCornerTwoBendReliefShapeType = 4 + ArcWeldCornerTwoBendReliefShapeType = 5 + LaserWeldCornerTwoBendReliefShapeType = 6 + class CustomGraphicsBillBoardStyles(): """ Specifies the different styles that can be used to control billboarding. @@ -823,6 +907,8 @@ def __init__(self): PreserveSharpEdgesMeshRepairRebuildType = 1 AccurateMeshRepairRebuildType = 2 BlockyMeshRepairRebuildType = 3 + AdaptiveMeshRepairRebuildType = 4 + AdaptivePreserveSharpEdgesMeshRepairRebuildType = 5 class MeshRepairTypes(): """ @@ -1296,6 +1382,7 @@ def __init__(self): TrimToBendTwoBendReliefShape = 3 LinearWeldTwoBendReliefShape = 4 ArcWeldTwoBendReliefShape = 5 + LaserWeldTwoBendReliefShape = 6 class UnitSystems(): """ @@ -3178,6 +3265,86 @@ def count(self) -> int: """ return int() +class AutoConstrainInput(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + The AutoConstrainInput object is used to define the various options when adding dimension + and geometric constraints to help constrain a sketch. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> AutoConstrainInput: + return AutoConstrainInput() + @property + def datumPoint(self) -> SketchPoint: + """ + Gets and sets an optional datum point that the dimensions will be based on. This defaults to null, + which indicates there is no datum point specified. When no datum point is provided, AutoConstrain + will automatically select an appropriate datum based on the sketch content and geometry. + """ + return SketchPoint() + @datumPoint.setter + def datumPoint(self, value: SketchPoint): + """ + Gets and sets an optional datum point that the dimensions will be based on. This defaults to null, + which indicates there is no datum point specified. When no datum point is provided, AutoConstrain + will automatically select an appropriate datum based on the sketch content and geometry. + """ + pass + @property + def parentSketch(self) -> Sketch: + """ + Returns the Sketch this object is associated with and where the dimension and geometric constraints + will be added when the autoConstrain method is called. This property is read-only and is set when + the input object is created by the sketch's createAutoConstrainInput method. + """ + return Sketch() + +class AutoConstrainResult(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Provides the result information after a sketch auto constrain operation has been executed. + This object contains details about what constraints and dimensions were added and whether + the sketch was successfully fully constrained. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> AutoConstrainResult: + return AutoConstrainResult() + @property + def addedDimensions(self) -> list[SketchDimension]: + """ + Returns an array of the SketchDimension objects that were added to constrain the sketch. + If no dimensions were added during the auto constrain operation, this property returns + an empty array. + """ + return [SketchDimension()] + @property + def addedConstraints(self) -> list[GeometricConstraint]: + """ + Returns an array of the GeometricConstraint objects that were added to constrain the sketch. + If no geometric constraints were added during the auto constrain operation, this property + returns an empty array. + """ + return [GeometricConstraint()] + @property + def isFullyConstrained(self) -> bool: + """ + Indicates if the auto constrain operation successfully auto constrained the sketch. Returns true if + the sketch is fully constrained after the operation, false otherwise. A value of false may indicate + that additional constraints are needed or that the current sketch geometry cannot be fully constrained + with the current settings. + """ + return bool() + class BaseComponent(core.Base): """ The BaseComponent object that defines all of the common design data @@ -4855,6 +5022,19 @@ def preciseBoundingBox(self) -> core.BoundingBox3D: Returns a bounding box that tightly fits this body. """ return core.BoundingBox3D() + @property + def isDerived(self) -> bool: + """ + Returns if this BRepBody is derived from another design. If true, this body cannot be deleted. + """ + return bool() + @property + def deriveFeature(self) -> DeriveFeature: + """ + Returns the DeriveFeature if this BRepBody is derived from another design. + This property returns null if the BRepBody is not derived from another design (i.e. isDerived property returns false). + """ + return DeriveFeature() class BRepBodyDefinition(core.Base): """ @@ -7115,6 +7295,20 @@ def timelineObject(self) -> TimelineObject: Returns the timeline object associated with the creation of this canvas. """ return TimelineObject() + @property + def isDerived(self) -> bool: + """ + Returns if this canvas is derived from another design. If true, the canvas cannot be deleted. + You should not attempt to make any edits to the derived canvas. Any edits made to this derived canvas will be lost when the derive updates. + """ + return bool() + @property + def deriveFeature(self) -> DeriveFeature: + """ + Returns the DeriveFeature if this canvas is derived from another design. + This property returns null if the canvas is not derived from another design (i.e. isDerived property returns false). + """ + return DeriveFeature() class Canvases(core.Base): """ @@ -9512,6 +9706,20 @@ def entityToken(self) -> str: method to get the two entities identified by the tokens and then compare them. """ return str() + @property + def isDerived(self) -> bool: + """ + Returns if this construction axis is derived from another design. If true, the construction axis cannot be deleted. + You should not attempt to make any edits to the derived construction axis. Any edits made to this derived construction axis will be lost when the derive updates. + """ + return bool() + @property + def deriveFeature(self) -> DeriveFeature: + """ + Returns the DeriveFeature if this construction axis is derived from another design. + This property returns null if the construction axis is not derived from another design (i.e. isDerived property returns false). + """ + return DeriveFeature() class ConstructionAxisDefinition(core.Base): """ @@ -9864,6 +10072,20 @@ def entityToken(self) -> str: method to get the two entities identified by the tokens and then compare them. """ return str() + @property + def isDerived(self) -> bool: + """ + Returns if this construction plane is derived from another design. If true, the construction plane cannot be deleted. + You should not attempt to make any edits to the derived construction plane. Any edits made to this derived construction plane will be lost when the derive updates. + """ + return bool() + @property + def deriveFeature(self) -> DeriveFeature: + """ + Returns the DeriveFeature if this construction plane is derived from another design. + This property returns null if the construction plane is not derived from another design (i.e. isDerived property returns false). + """ + return DeriveFeature() class ConstructionPlaneDefinition(core.Base): """ @@ -10291,6 +10513,20 @@ def entityToken(self) -> str: method to get the two entities identified by the tokens and then compare them. """ return str() + @property + def isDerived(self) -> bool: + """ + Returns if this construction point is derived from another design. If true, the construction point cannot be deleted. + You should not attempt to make any edits to the derived construction point. Any edits made to this derived construction point will be lost when the derive updates. + """ + return bool() + @property + def deriveFeature(self) -> DeriveFeature: + """ + Returns the DeriveFeature if this construction point is derived from another design. + This property returns null if the construction point is not derived from another design (i.e. isDerived property returns false). + """ + return DeriveFeature() class ConstructionPointDefinition(core.Base): """ @@ -10632,6 +10868,346 @@ def count(self) -> int: """ return int() +class CornerClosureFeatureDefinition(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + A Base class to return the information used to define the CornerClosureFeature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CornerClosureFeatureDefinition: + return CornerClosureFeatureDefinition() + @property + def dominantEdge(self) -> BRepEdge: + """ + Gets the dominant edge for the corner closure. + + 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) + + After setting the edge, the definitionType property on CornerClosureFeature should be examined + to determine whether the corner is two-bend or three-bend, as after the setting another edge + the type of corner might be altered. + """ + return BRepEdge() + @dominantEdge.setter + def dominantEdge(self, value: BRepEdge): + """ + Gets the dominant edge for the corner closure. + + 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) + + After setting the edge, the definitionType property on CornerClosureFeature should be examined + to determine whether the corner is two-bend or three-bend, as after the setting another edge + the type of corner might be altered. + """ + pass + @property + def submissiveEdge(self) -> BRepEdge: + """ + Gets and sets the submissive edge for the corner closure. + + 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) + + After setting the edge, the definitionType property on CornerClosureFeature should be examined + to determine whether the corner is two-bend or three-bend, as after the setting another edge + the type of corner might be altered. + """ + return BRepEdge() + @submissiveEdge.setter + def submissiveEdge(self, value: BRepEdge): + """ + Gets and sets the submissive edge for the corner closure. + + 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) + + After setting the edge, the definitionType property on CornerClosureFeature should be examined + to determine whether the corner is two-bend or three-bend, as after the setting another edge + the type of corner might be altered. + """ + pass + @property + def miterGap(self) -> ModelParameter: + """ + Gets the miter gap for the corner closure. + """ + return ModelParameter() + @property + def isExtendAligned(self) -> bool: + """ + Gets and sets whether the corner closure extends aligned to the edges. + + 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() + @isExtendAligned.setter + def isExtendAligned(self, value: bool): + """ + Gets and sets whether the corner closure extends aligned to the edges. + + 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 bendTransition(self) -> CornerBendTransitionTypes: + """ + Gets and sets the bend transition type for the corner closure. + + 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 CornerBendTransitionTypes() + @bendTransition.setter + def bendTransition(self, value: CornerBendTransitionTypes): + """ + Gets and sets the bend transition type for the corner closure. + + 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 CornerClosureFeatureInput(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 corner closure feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CornerClosureFeatureInput: + return CornerClosureFeatureInput() + def setTwoBendCornerClosure(self, parameters: TwoBendCornerClosureInputDefinition) -> bool: + """ + Sets the corner closure input with the values to be used to create a two-bend corner closure feature. + Before using this method, the definitionType property should be examined + to determine whether the corner is two-bend or three-bend, as this method is only applicable + for two-bend corner closures. + parameters : A TwoBendCornerClosureParameters object that encapsulates all the required parameters for creating + a two-bend corner closure feature. This includes miter gap, alignment settings, bend transition type, + relief shape, relief size, and relief placement options. + Returns true if defining the corner closure is successful. + """ + return bool() + def setThreeBendCornerClosure(self, parameters: ThreeBendCornerClosureInputDefinition) -> bool: + """ + Sets the corner closure input with the values to be used to create a three-bend corner closure feature. + Before using this method, the definitionType property should be examined + to determine whether the corner is two-bend or three-bend, as this method is only applicable + for three-bend corner closures. + parameters : A ThreeBendCornerClosureParameters object that encapsulates all the required parameters for creating + a three-bend corner closure feature. This includes miter gap, alignment settings, bend transition type, + relief shape, and relief radius options. + Returns true if defining the corner closure is successful. + """ + return bool() + @property + def definitionType(self) -> CornerClosureFeatureDefinitionTypes: + """ + Gets the type of corner closure defined. + """ + return CornerClosureFeatureDefinitionTypes() + @property + def dominantEdge(self) -> BRepEdge: + """ + Gets and sets the dominant edge for the corner closure + + After setting the edge, the definitionType property should be examined + to determine whether the corner is two-bend or three-bend, as after the setting another edge + the type of corner might be altered. + """ + return BRepEdge() + @dominantEdge.setter + def dominantEdge(self, value: BRepEdge): + """ + Gets and sets the dominant edge for the corner closure + + After setting the edge, the definitionType property should be examined + to determine whether the corner is two-bend or three-bend, as after the setting another edge + the type of corner might be altered. + """ + pass + @property + def submissiveEdge(self) -> BRepEdge: + """ + Gets and sets the submissive edge for the corner closure + + After setting the edge, the definitionType property should be examined + to determine whether the corner is two-bend or three-bend, as after the setting another edge + the type of corner might be altered. + """ + return BRepEdge() + @submissiveEdge.setter + def submissiveEdge(self, value: BRepEdge): + """ + Gets and sets the submissive edge for the corner closure + + After setting the edge, the definitionType property should be examined + to determine whether the corner is two-bend or three-bend, as after the setting another edge + the type of corner might be altered. + """ + pass + +class CornerClosureFeatures(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 corner closure features in a design and supports the ability to create new corner closure features. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CornerClosureFeatures: + return CornerClosureFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> CornerClosureFeature: + return None + def __iter__(self) -> Iterator[CornerClosureFeature]: + return None + def item(self, index: int) -> CornerClosureFeature: + """ + Function that returns the specified corner closure 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 CornerClosureFeature() + def itemByName(self, name: str) -> CornerClosureFeature: + """ + Function that returns the specified corner closure 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 CornerClosureFeature() + def createInput(self, dominantEdge: BRepEdge, submissiveEdge: BRepEdge) -> CornerClosureFeatureInput: + """ + Creates a CornerClosureFeatureInput object. Use methods on this object to define the corner closure you want + to create and then use the add method, passing in the CornerClosureFeatureInput object. + dominantEdge : The BRepEdge that defines the dominant edge of the corner closure. + submissiveEdge : The BRepEdge that defines the submissive edge of the corner closure. + Returns the newly created CornerClosureFeatureInput object or null if the creation failed. + """ + return CornerClosureFeatureInput() + def add(self, input: CornerClosureFeatureInput) -> CornerClosureFeature: + """ + Creates a new Corner Closure feature. + input : A CornerClosureFeatureInput object that defines the desired corner closure. Use the createCornerClosureFeatureInput + method to create a new CornerClosureFeatureInput object and then use methods on it + (the CornerClosureFeatureInput object) to define the corner closure. + Returns the newly created CornerClosureFeature object or null if the creation failed. + """ + return CornerClosureFeature() + @property + def count(self) -> int: + """ + The number of corner closure features in the collection. + """ + return int() + +class CornerClosureInputDefinition(core.Base): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Defines the common input properties shared by both two-bend and three-bend corner closure features. + This class provides the fundamental properties required for any corner closure operation, including miter gap, + alignment settings, and bend transition behavior. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CornerClosureInputDefinition: + return CornerClosureInputDefinition() + @property + def miterGap(self) -> core.ValueInput: + """ + Gets and sets the gap distance for the miter in the corner closure. + This value defines the spacing between the sheets at the corner miter joint. + If this property is not set (null) and useSheetMetalRuleMiterGap is false, + the miter gap value will be taken from the Sheet Metal Rule as a fallback. + """ + return core.ValueInput() + @miterGap.setter + def miterGap(self, value: core.ValueInput): + """ + Gets and sets the gap distance for the miter in the corner closure. + This value defines the spacing between the sheets at the corner miter joint. + If this property is not set (null) and useSheetMetalRuleMiterGap is false, + the miter gap value will be taken from the Sheet Metal Rule as a fallback. + """ + pass + @property + def isExtendAligned(self) -> bool: + """ + Gets and sets a value indicating whether the corner closure extends aligned to the edges. + When true, the corner closure will extend in alignment with the adjacent edges. + When false, the corner closure will use the default extension behavior. + The default value is true. + """ + return bool() + @isExtendAligned.setter + def isExtendAligned(self, value: bool): + """ + Gets and sets a value indicating whether the corner closure extends aligned to the edges. + When true, the corner closure will extend in alignment with the adjacent edges. + When false, the corner closure will use the default extension behavior. + The default value is true. + """ + pass + @property + def bendTransition(self) -> CornerBendTransitionTypes: + """ + Gets and sets the bend transition type for the corner closure. + This determines how the bend transitions are handled at the corner intersection. + The default value is TrimToBendCornerBendTransitionType. + """ + return CornerBendTransitionTypes() + @bendTransition.setter + def bendTransition(self, value: CornerBendTransitionTypes): + """ + Gets and sets the bend transition type for the corner closure. + This determines how the bend transitions are handled at the corner intersection. + The default value is TrimToBendCornerBendTransitionType. + """ + pass + @property + def isUseSheetMetalRuleMiterGap(self) -> bool: + """ + Gets and sets whether to use the miter gap value from the Sheet Metal Rule. + When true, the miter gap value is taken from the active Sheet Metal Rule and any value set in the miterGap property is ignored. + When false (default), the behavior depends on the miterGap property: + - If miterGap is set: uses the specified value + - If miterGap is not set (null): uses the value from the Sheet Metal Rule as a fallback + The default value is false. + """ + return bool() + @isUseSheetMetalRuleMiterGap.setter + def isUseSheetMetalRuleMiterGap(self, value: bool): + """ + Gets and sets whether to use the miter gap value from the Sheet Metal Rule. + When true, the miter gap value is taken from the active Sheet Metal Rule and any value set in the miterGap property is ignored. + When false (default), the behavior depends on the miterGap property: + - If miterGap is set: uses the specified value + - If miterGap is not set (null): uses the value from the Sheet Metal Rule as a fallback + The default value is false. + """ + pass + class CurvatureCombAnalyses(core.Base): """ Provides access to any curvature comb analyses results in the design. @@ -12143,6 +12719,20 @@ def timelineObject(self) -> TimelineObject: Returns the timeline object associated with the creation of this decal. """ return TimelineObject() + @property + def isDerived(self) -> bool: + """ + Returns if this decal is derived from another design. If true, the canvas cannot be deleted. + You should not attempt to make any edits to the derived decal. Any edits made to this derived decal will be lost when the derive updates. + """ + return bool() + @property + def deriveFeature(self) -> DeriveFeature: + """ + Returns the DeriveFeature if this decal is derived from another design. + This property returns null if the decal is not derived from another design (i.e. isDerived property returns false). + """ + return DeriveFeature() class DecalInput(core.Base): """ @@ -12406,6 +12996,145 @@ def count(self) -> int: """ return int() +class DeriveFeatureInput(core.Base): + """ + This class defines the methods and properties that pertain to the definition of a derive feature. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> DeriveFeatureInput: + return DeriveFeatureInput() + @property + def sourceDesign(self) -> Design: + """ + The Design that is obtained from the input DataFile. You can use the API to access various elements within the + design to add them to the list of elements to be derived. + """ + return Design() + @property + def sourceEntities(self) -> list[core.Base]: + """ + The array of entities that will be derived. These can be any entity that is supported by derive. + For example, BRepBody, MeshBody, Sketch, ConstructionPlane, Occurrence, Component(rootComponent), FlatPattern, Canvas etc. + """ + return [core.Base()] + @sourceEntities.setter + def sourceEntities(self, value: list[core.Base]): + """ + The array of entities that will be derived. These can be any entity that is supported by derive. + For example, BRepBody, MeshBody, Sketch, ConstructionPlane, Occurrence, Component(rootComponent), FlatPattern, Canvas etc. + """ + pass + @property + def excludedEntities(self) -> list[core.Base]: + """ + The array of entities that will be excluded from the sourceEntities. These can be any entity that is supported by derive. + For example, BRepBody, MeshBody, Sketch, ConstructionPlane, Occurrence, Component(rootComponent), FlatPattern, Canvas etc. + """ + return [core.Base()] + @excludedEntities.setter + def excludedEntities(self, value: list[core.Base]): + """ + The array of entities that will be excluded from the sourceEntities. These can be any entity that is supported by derive. + For example, BRepBody, MeshBody, Sketch, ConstructionPlane, Occurrence, Component(rootComponent), FlatPattern, Canvas etc. + """ + pass + @property + def isIncludeFavoriteParameters(self) -> bool: + """ + Gets or sets whether favorite parameters in the source design are derived or not. + """ + return bool() + @isIncludeFavoriteParameters.setter + def isIncludeFavoriteParameters(self, value: bool): + """ + Gets or sets whether favorite parameters in the source design are derived or not. + """ + pass + @property + def isIncludeComponentParameters(self) -> bool: + """ + Gets or sets whether all feature parameters from all selected components + from the source design are derived or not. + """ + return bool() + @isIncludeComponentParameters.setter + def isIncludeComponentParameters(self, value: bool): + """ + Gets or sets whether all feature parameters from all selected components + from the source design are derived or not. + """ + pass + @property + def isPlaceObjectsAtOrigin(self) -> bool: + """ + Gets or sets whether to place all derived objects at the origin in + the destination design or not. + """ + return bool() + @isPlaceObjectsAtOrigin.setter + def isPlaceObjectsAtOrigin(self, value: bool): + """ + Gets or sets whether to place all derived objects at the origin in + the destination design or not. + """ + pass + +class DeriveFeatures(core.Base): + """ + Collection that provides access to all of the existing derive features in a component + and supports the ability to create new derive features. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> DeriveFeatures: + return DeriveFeatures() + def __len__(self) -> int: + return 0 + def __getitem__(self, index: int) -> DeriveFeature: + return None + def __iter__(self) -> Iterator[DeriveFeature]: + return None + def item(self, index: int) -> DeriveFeature: + """ + Function that returns the specified derive 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 DeriveFeature() + def createInput(self, sourceDesign: Design) -> DeriveFeatureInput: + """ + Creates a DeriveFeatureInput object. Use properties and methods on this object + to define the derive you want to create and then use the Add method, passing in + the DeriveFeatureInput object. + sourceDesign : The Design that will be derived. + Returns a DeriveFeatureInput or null if the creation failed. + """ + return DeriveFeatureInput() + def add(self, input: DeriveFeatureInput) -> DeriveFeature: + """ + Creates a new derive feature. + input : A DeriveFeatureInput object that defines the desired derive. Use the createInput method + to create a new DeriveFeatureInput object and then use methods on it to define the derive. + Returns the newly created DeriveFeature object or null if the creation failed. + """ + return DeriveFeature() + def itemByName(self, name: str) -> DeriveFeature: + """ + Function that returns the specified derive 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 DeriveFeature() + @property + def count(self) -> int: + """ + The number of derive features in the collection. + """ + return int() + class DraftAnalyses(core.Base): """ Provides access to any draft analyses results in the design. @@ -14559,6 +15288,23 @@ def meshRemoveFeatures(self) -> MeshRemoveFeatures: within the component and supports the creation of new mesh remove features. """ return MeshRemoveFeatures() + @property + def deriveFeatures(self) -> DeriveFeatures: + """ + Returns the collection that provides access to the Derive features + within the component and supports the creation of new Derive features. + """ + return DeriveFeatures() + @property + def cornerClosureFeatures(self) -> CornerClosureFeatures: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Returns the collection that provides access to the existing Corner Closure features. + """ + return CornerClosureFeatures() class FilletEdgeSet(core.Base): """ @@ -23027,6 +23773,20 @@ def dataComponent(self) -> core.DataComponent: is a top level opened design. """ return core.DataComponent() + @property + def isDerived(self) -> bool: + """ + Returns if this occurrence is derived from another design. If true, the occurrence cannot be deleted. + You should not attempt to make any edits to the component referenced by the derived occurrence. Any edits made to this derived occurrence will be lost when the derive updates. + """ + return bool() + @property + def deriveFeature(self) -> DeriveFeature: + """ + Returns the DeriveFeature if this occurrence is derived from another design. + This property returns null if the occurrence is not derived from another design (i.e. isDerived property returns false). + """ + return DeriveFeature() class OccurrenceList(core.Base): """ @@ -23153,6 +23913,22 @@ def addFromConfiguration(self, configurationRow: ConfigurationRow, transform: co Returns the newly created occurrence or null if the add failed. """ return Occurrence() + def addNewExternalComponent(self, componentName: str, targetFolder: core.DataFolder, transform: core.Matrix3D) -> Occurrence: + """ + Method that creates a new occurrence by creating a new external component (X-Ref) that is + not saved yet. This is similar to the "New Component" command in the UI when creating an + external component, where you specify a name and location but the component is created + in-memory without being saved immediately. This allows programs to create and populate + an external component without needing to save it first, and makes undo possible. + The component will be saved automatically when the parent assembly is saved. + componentName : The name for the new external component. + targetFolder : The DataFolder where the component will be saved when the parent assembly is saved. + transform : A transform that defines the location for the new occurrence. + Returns the newly created occurrence or null if the creation failed. The component + referenced by the occurrence can be edited but is not saved until the parent assembly + is saved. + """ + return Occurrence() @property def count(self) -> int: """ @@ -29699,6 +30475,35 @@ def addOverallSlot(self, startPoint: core.Base, endPoint: core.Base, width: core the dimension constraints that were created in the order of length, angle and width. """ return [core.Base()] + def createAutoConstrainInput(self) -> AutoConstrainInput: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Creates a new AutoConstrainInput object associated with this sketch. The input object is + used to define the various options when adding dimension and geometric constraints to + help constrain a sketch. The returned object has all options defined with default values + and additional constraints can be applied by passing this into the autoConstrain method. + Returns the newly created AutoConstrainInput object. Validation of sketch suitability + (entity count, entitlements, fully constrained status, 3D vs 2D, etc.) is performed + when the autoConstrain method is called, not during input creation. + """ + return AutoConstrainInput() + def autoConstrain(self, input: AutoConstrainInput) -> AutoConstrainResult: + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Auto constrains the sketch using the information provided by the input object. This returns + a single locally computed solution. + input : The AutoConstrainInput object that defines the various settings to use when fully constraining the sketch. + The input object must be associated with this sketch (created by this sketch's createAutoConstrainInput method). + Returns an AutoConstrainResult object where information about how the sketch was constrained + can be obtained. Returns null in the case of a failure or if the input is invalid. + """ + return AutoConstrainResult() @property def name(self) -> str: """ @@ -30110,6 +30915,20 @@ def isConstructionGeometryShown(self, value: bool): This provides access to the "Construction Geometries" setting in the "SKETCH PALETTE". """ pass + @property + def isDerived(self) -> bool: + """ + Returns if this sketch is derived from another design. If true, the sketch cannot be deleted. + You should not attempt to make any edits to the derived sketch. Any edits made to this derived sketch will be lost when the derive updates. + """ + return bool() + @property + def deriveFeature(self) -> DeriveFeature: + """ + Returns the DeriveFeature if this sketch is derived from another design. + This property returns null if the sketch is not derived from another design (i.e. isDerived property returns false). + """ + return DeriveFeature() class SketchArcs(core.Base): """ @@ -31407,6 +32226,17 @@ def addEdgePolygon(self, pointOne: core.Base, pointTwo: core.Base, isRight: bool Returns a list of the sketch lines that were created to represent the polygon or null in the case of bad input. """ return SketchLineList() + def addByMidpoint(self, midPoint: core.Base, secondPoint: core.Base) -> SketchLine: + """ + Creates a sketch line where the first point is the midpoint and the second point + is one endpoint. The system automatically calculates the other endpoint to create + a line where the first point is exactly at the midpoint. + midPoint : The midpoint of the line. It can be a SketchPoint or Point3D object. + secondPoint : One endpoint of the line. It can be a SketchPoint or Point3D object. + The other endpoint will be calculated automatically. + Returns the newly created SketchLine object or null if the creation failed. + """ + return SketchLine() @property def count(self) -> int: """ @@ -32891,269 +33721,6 @@ 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 @@ -38868,21 +39435,6 @@ def id(self) -> str: """ 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 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. @@ -39685,34 +40237,66 @@ def parentColumn(self) -> ConfigurationParameterColumn: def expression(self) -> str: """ Gets and sets the expression that defines the value of the associated parameter when the parent row - is active. This property behaves as read-only when the table is obtained from a DataFile object. + is active. This works for both numeric and text parameters. This property behaves as read-only when + the table is obtained from a DataFile object. """ return str() @expression.setter def expression(self, value: str): """ Gets and sets the expression that defines the value of the associated parameter when the parent row - is active. This property behaves as read-only when the table is obtained from a DataFile object. + is active. This works for both numeric and text parameters. This property behaves as read-only when + the table is obtained from a DataFile object. """ pass @property def value(self) -> float: """ - Gets and sets the value of the parameter in database units. You can use the units property of the associated - Parameter object, which you can get from the column, to determine the type of units this parameter is - defined in. Setting this property will overwrite any existing expression. This property behaves as read-only + Gets and sets the real value (a double) of the parameter in database units. + Setting this property will overwrite any existing expression. This property behaves as read-only when the table is obtained from a DataFile object. + This property is only valid for numeric parameters and will fail for text parameters. + You can determine the value type of the parameter by using the valueType property. + Use the textValue property to get and set the value of text parameters. """ return float() @value.setter def value(self, value: float): """ - Gets and sets the value of the parameter in database units. You can use the units property of the associated - Parameter object, which you can get from the column, to determine the type of units this parameter is - defined in. Setting this property will overwrite any existing expression. This property behaves as read-only + Gets and sets the real value (a double) of the parameter in database units. + Setting this property will overwrite any existing expression. This property behaves as read-only when the table is obtained from a DataFile object. + This property is only valid for numeric parameters and will fail for text parameters. + You can determine the value type of the parameter by using the valueType property. + Use the textValue property to get and set the value of text parameters. + """ + pass + @property + def textValue(self) -> str: + """ + Gets and sets the text value of the parameter when it is a text parameter. This can + be determined by checking the valueType property. Setting this value will cause the + current expression to be overwritten. This property behaves as read-only when the + table is obtained from a DataFile object. + """ + return str() + @textValue.setter + def textValue(self, value: str): + """ + Gets and sets the text value of the parameter when it is a text parameter. This can + be determined by checking the valueType property. Setting this value will cause the + current expression to be overwritten. This property behaves as read-only when the + table is obtained from a DataFile object. """ pass + @property + def valueType(self) -> ParameterValueTypes: + """ + Returns the type of value this parameter cell is. For a numeric parameter, you can + get the value using the value property. For a text parameter, you can get the + value using the textValue property. + """ + return ParameterValueTypes() class ConfigurationParameterColumn(ConfigurationColumn): """ @@ -41134,6 +41718,47 @@ def sourceBody(self) -> core.ObjectCollection: """ return core.ObjectCollection() +class CornerClosureFeature(Feature): + """ + Defines a corner closure feature, providing methods to redefine the type of corner closure. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> CornerClosureFeature: + return CornerClosureFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> CornerClosureFeature: + """ + 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 CornerClosureFeature() + @property + def definitionType(self) -> CornerClosureFeatureDefinitionTypes: + """ + Gets the type of corner closure defined. + """ + return CornerClosureFeatureDefinitionTypes() + @property + def definition(self) -> CornerClosureFeatureDefinition: + """ + Returns the CornerClosureFeatureDefinition object which provides access to the information + defining this CornerClosureFeature and the ability to edit it. + """ + return CornerClosureFeatureDefinition() + @property + def nativeObject(self) -> CornerClosureFeature: + """ + 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 CornerClosureFeature() + class CurvatureCombAnalysis(Analysis): """ Represents any existing Curvature Comb Analysis that exist in the design. @@ -42454,6 +43079,144 @@ def nativeObject(self) -> DeleteFaceFeature: """ return DeleteFaceFeature() +class DerivedParameter(Parameter): + """ + Represents a parameter that is derived from another design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> DerivedParameter: + return DerivedParameter() + @property + def deriveFeature(self) -> DeriveFeature: + """ + Returns the DeriveFeature that derives this parameter from another design. + """ + return DeriveFeature() + +class DeriveFeature(Feature): + """ + Object that represents an existing derive feature in a design. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> DeriveFeature: + return DeriveFeature() + def createForAssemblyContext(self, occurrence: Occurrence) -> DeriveFeature: + """ + 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 DeriveFeature() + def setSourceEntities(self, entities: list[core.Base], excludedEntities: list[core.Base]) -> bool: + """ + Sets the array of entities that are derived. + """ + return bool() + def breakLink(self) -> bool: + """ + Method that breaks the link between the source design and the destination design. + The derived objects are converted to base features and added to the Timeline. + Returns true if the break link was successful. + """ + return bool() + def getSourceEntity(self, derivedEntity: core.Base) -> core.Base: + """ + Method that returns the source entity for a derived entity. + derivedEntity : Input an entity (e.g. a BRepBody, MeshBody, Sketch, SketchEntity, ConstructionPlane, Occurrence, Canvas etc.) + that was derived by this DeriveFeature. + Returns the source entity for the derived entity or null if it failed. + """ + return core.Base() + def getDerivedEntity(self, sourceEntity: core.Base) -> core.Base: + """ + Method that returns the derived entity for a source entity. + sourceEntity : Input an entity (e.g. a BRepBody, MeshBody, Sketch, SketchEntity, ConstructionPlane, Occurrence, Canvas etc.) + from the sourceDesign that is derived by this DeriveFeature. + Returns the derived entity for the source entity or null if it failed. + """ + return core.Base() + @property + def nativeObject(self) -> DeriveFeature: + """ + 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 DeriveFeature() + @property + def sourceDesign(self) -> Design: + """ + The source Design of this derive feature. You can use the API to access various elements within the + design to add them to the list of elements to be derived. + """ + return Design() + @property + def sourceEntities(self) -> list[core.Base]: + """ + The array of entities that are derived. + """ + return [core.Base()] + @property + def excludedEntities(self) -> list[core.Base]: + """ + The array of entities that are excluded from the derived set. + """ + return [core.Base()] + @property + def isIncludeFavoriteParameters(self) -> bool: + """ + Gets or sets whether favorite parameters in source design are derived or not. + """ + return bool() + @isIncludeFavoriteParameters.setter + def isIncludeFavoriteParameters(self, value: bool): + """ + Gets or sets whether favorite parameters in source design are derived or not. + """ + pass + @property + def isIncludeComponentParameters(self) -> bool: + """ + Gets or sets whether all feature parameters from all derived components + from the source design are derived or not. + """ + return bool() + @isIncludeComponentParameters.setter + def isIncludeComponentParameters(self, value: bool): + """ + Gets or sets whether all feature parameters from all derived components + from the source design are derived or not. + """ + pass + @property + def isPlaceObjectsAtOrigin(self) -> bool: + """ + Gets or sets whether to place all derived objects at the origin in + the destination design or not. + """ + return bool() + @isPlaceObjectsAtOrigin.setter + def isPlaceObjectsAtOrigin(self, value: bool): + """ + Gets or sets whether to place all derived objects at the origin in + the destination design or not. + """ + pass + @property + def documentReference(self) -> core.DocumentReference: + """ + Returns the DocumentReference for this derived design. + Through the DocumentReference object you can modify the version and get other information associated with the reference. + """ + return core.DocumentReference() + class Design(core.Product): """ Object that represents an open Fusion design. This derives from the @@ -42801,7 +43564,7 @@ def isConfiguration(self) -> bool: def configurationRowId(self) -> str: """ Returns the ID of the row that defines this configuration. Use the - isCongiguration property to determine if this Design is a configuration + isConfiguration property to determine if this Design is a configuration or not. If this is not a configuration, this property returns an empty string. """ @@ -42856,6 +43619,13 @@ def isAdaptiveGroundPlane(self, value: bool): """ pass @property + def derivedParameters(self) -> list[DerivedParameter]: + """ + Returns a read only list of all parameters that are derived into the design. This includes + the user parameters and model parameters from all derives in this design. + """ + return [DerivedParameter()] + @property def isModelingInAssemblyEnabled(self) -> bool: """ !!!!! Warning !!!!! @@ -44481,18 +45251,6 @@ def isDimensionEditedWhenCreated(self, value: bool): """ pass @property - def isAutoLookAtSketch(self) -> bool: - """ - Gets and sets if the view is re-oriented to view the newly created sketch. - """ - return bool() - @isAutoLookAtSketch.setter - def isAutoLookAtSketch(self, value: bool): - """ - Gets and sets if the view is re-oriented to view the newly created sketch. - """ - pass - @property def isAutoProjectGeometry(self) -> bool: """ Gets and Sets if geometry, not in the active sketch plane, is to be automatically projected. @@ -44584,6 +45342,20 @@ def isFirstComponentGroundToParent(self) -> bool: @isFirstComponentGroundToParent.setter def isFirstComponentGroundToParent(self, value: bool): pass + @property + def isAutoLookAtSketch2(self) -> AutoLookAtSketchSettings: + """ + Gets and sets if the view is re-oriented to view the newly created sketch, + and if it is re-oriented, if the camera uses the current camera settings or is orthographic. + """ + return AutoLookAtSketchSettings() + @isAutoLookAtSketch2.setter + def isAutoLookAtSketch2(self, value: AutoLookAtSketchSettings): + """ + Gets and sets if the view is re-oriented to view the newly created sketch, + and if it is re-oriented, if the camera uses the current camera settings or is orthographic. + """ + pass class FusionUnitsManager(core.UnitsManager): """ @@ -52227,6 +52999,183 @@ def hole(self) -> HoleFeature: """ return HoleFeature() +class ThreeBendCornerClosureFeatureDefinition(CornerClosureFeatureDefinition): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + The definition for a three bend corner closure. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ThreeBendCornerClosureFeatureDefinition: + return ThreeBendCornerClosureFeatureDefinition() + @property + def threeBendReliefShape(self) -> CornerThreeBendReliefShapeTypes: + """ + Gets and sets the relief shape for the three-bend corner. + + 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 CornerThreeBendReliefShapeTypes() + @threeBendReliefShape.setter + def threeBendReliefShape(self, value: CornerThreeBendReliefShapeTypes): + """ + Gets and sets the relief shape for the three-bend corner. + + 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 threeBendReliefRadius(self) -> ModelParameter: + """ + Gets the radius of the three-bend relief. + """ + return ModelParameter() + @property + def isUseSheetMetalRuleDefaults(self) -> bool: + """ + Gets and sets whether to use default values from the Sheet Metal Rule for all three-bend relief parameters + (shape and radius). + + When set to true, the relief shape and radius are retrieved from the active Sheet Metal Rule. + When set to false (default), the explicitly set values for these parameters are used. + + 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) + + The default value is false. + """ + return bool() + @isUseSheetMetalRuleDefaults.setter + def isUseSheetMetalRuleDefaults(self, value: bool): + """ + Gets and sets whether to use default values from the Sheet Metal Rule for all three-bend relief parameters + (shape and radius). + + When set to true, the relief shape and radius are retrieved from the active Sheet Metal Rule. + When set to false (default), the explicitly set values for these parameters are used. + + 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) + + The default value is false. + """ + pass + @property + def isUseSheetMetalRuleMiterGap(self) -> bool: + """ + Gets and sets whether to use the miter gap value from the Sheet Metal Rule. + + When set to true, the miter gap value is retrieved from the active Sheet Metal Rule. + When set to false (default), the explicitly set miterGap value is used. + + 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) + + The default value is false. + """ + return bool() + @isUseSheetMetalRuleMiterGap.setter + def isUseSheetMetalRuleMiterGap(self, value: bool): + """ + Gets and sets whether to use the miter gap value from the Sheet Metal Rule. + + When set to true, the miter gap value is retrieved from the active Sheet Metal Rule. + When set to false (default), the explicitly set miterGap value is used. + + 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) + + The default value is false. + """ + pass + +class ThreeBendCornerClosureInputDefinition(CornerClosureInputDefinition): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Defines the input properties required for creating a three-bend corner closure feature. + This input definition provides a structured way to organize and validate the parameters before passing them to the + setThreeBendCornerClosure method. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> ThreeBendCornerClosureInputDefinition: + return ThreeBendCornerClosureInputDefinition() + @staticmethod + def create() -> ThreeBendCornerClosureInputDefinition: + """ + Creates a ThreeBendCornerClosureParameters object that can be used to define parameters for a three-bend corner closure. + Use properties on this object to set the relief shape, relief radius, miter gap, alignment settings, + and bend transition type before passing it to the setThreeBendCornerClosure method. + Returns the newly created ThreeBendCornerClosureParameters object or null if the creation failed. + """ + return ThreeBendCornerClosureInputDefinition() + @property + def threeBendReliefShape(self) -> CornerThreeBendReliefShapeTypes: + """ + Gets and sets the relief shape for the three-bend corner. + This defines the geometric shape used to relieve stress at the corner where three bends meet. + This property is ignored when useSheetMetalRuleDefaults is set to true. + The default value is RoundWithRadiusCornerThreeBendReliefShapeType. + """ + return CornerThreeBendReliefShapeTypes() + @threeBendReliefShape.setter + def threeBendReliefShape(self, value: CornerThreeBendReliefShapeTypes): + """ + Gets and sets the relief shape for the three-bend corner. + This defines the geometric shape used to relieve stress at the corner where three bends meet. + This property is ignored when useSheetMetalRuleDefaults is set to true. + The default value is RoundWithRadiusCornerThreeBendReliefShapeType. + """ + pass + @property + def threeBendReliefRadius(self) -> core.ValueInput: + """ + Gets and sets the radius of the three-bend relief. + This parameter is only valid when the threeBendReliefShape is RoundWithRadiusCornerThreeBendReliefShapeType. + For other relief shapes, this value is ignored. + This property is ignored when useSheetMetalRuleDefaults is set to true. + """ + return core.ValueInput() + @threeBendReliefRadius.setter + def threeBendReliefRadius(self, value: core.ValueInput): + """ + Gets and sets the radius of the three-bend relief. + This parameter is only valid when the threeBendReliefShape is RoundWithRadiusCornerThreeBendReliefShapeType. + For other relief shapes, this value is ignored. + This property is ignored when useSheetMetalRuleDefaults is set to true. + """ + pass + @property + def isUseSheetMetalRuleDefaults(self) -> bool: + """ + Gets and sets whether to use default relief values from the Sheet Metal Rule. + When true, all relief parameters (shape and radius) are taken from the active Sheet Metal Rule, + and any values set in threeBendReliefShape and threeBendReliefRadius properties are ignored. + When false (default), the relief parameters must be explicitly set using the respective properties. + The default value is false. + """ + return bool() + @isUseSheetMetalRuleDefaults.setter + def isUseSheetMetalRuleDefaults(self, value: bool): + """ + Gets and sets whether to use default relief values from the Sheet Metal Rule. + When true, all relief parameters (shape and radius) are taken from the active Sheet Metal Rule, + and any values set in threeBendReliefShape and threeBendReliefRadius properties are ignored. + When false (default), the relief parameters must be explicitly set using the respective properties. + The default value is false. + """ + pass + class ThroughAllExtentDefinition(ExtentDefinition): """ A definition object that is used to define the extents of a feature to be through all. @@ -52485,6 +53434,223 @@ def nativeObject(self) -> TrimFeature: """ return TrimFeature() +class TwoBendCornerClosureFeatureDefinition(CornerClosureFeatureDefinition): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + The definition for a two bend corner closure. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> TwoBendCornerClosureFeatureDefinition: + return TwoBendCornerClosureFeatureDefinition() + @property + def twoBendReliefShape(self) -> CornerTwoBendReliefShapeTypes: + """ + Gets and sets the relief shape for the two-bend corner. + + 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 CornerTwoBendReliefShapeTypes() + @twoBendReliefShape.setter + def twoBendReliefShape(self, value: CornerTwoBendReliefShapeTypes): + """ + Gets and sets the relief shape for the two-bend corner. + + 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 twoBendReliefSize(self) -> ModelParameter: + """ + Gets the size of the two-bend relief. + """ + return ModelParameter() + @property + def twoBendReliefPlacement(self) -> CornerTwoBendReliefPlacementTypes: + """ + Gets and sets the placement of the two-bend relief. + + 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 CornerTwoBendReliefPlacementTypes() + @twoBendReliefPlacement.setter + def twoBendReliefPlacement(self, value: CornerTwoBendReliefPlacementTypes): + """ + Gets and sets the placement of the two-bend relief. + + 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 isUseSheetMetalRuleDefaults(self) -> bool: + """ + Gets and sets whether to use default values from the Sheet Metal Rule for all two-bend relief parameters + (shape, size, and placement). + + When set to true, the relief shape, size, and placement are retrieved from the active Sheet Metal Rule. + When set to false (default), the explicitly set values for these parameters are used. + + 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) + + The default value is false. + """ + return bool() + @isUseSheetMetalRuleDefaults.setter + def isUseSheetMetalRuleDefaults(self, value: bool): + """ + Gets and sets whether to use default values from the Sheet Metal Rule for all two-bend relief parameters + (shape, size, and placement). + + When set to true, the relief shape, size, and placement are retrieved from the active Sheet Metal Rule. + When set to false (default), the explicitly set values for these parameters are used. + + 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) + + The default value is false. + """ + pass + @property + def isUseSheetMetalRuleMiterGap(self) -> bool: + """ + Gets and sets whether to use the miter gap value from the Sheet Metal Rule. + + When set to true, the miter gap value is retrieved from the active Sheet Metal Rule. + When set to false (default), the explicitly set miterGap value is used. + + 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) + + The default value is false. + """ + return bool() + @isUseSheetMetalRuleMiterGap.setter + def isUseSheetMetalRuleMiterGap(self, value: bool): + """ + Gets and sets whether to use the miter gap value from the Sheet Metal Rule. + + When set to true, the miter gap value is retrieved from the active Sheet Metal Rule. + When set to false (default), the explicitly set miterGap value is used. + + 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) + + The default value is false. + """ + pass + +class TwoBendCornerClosureInputDefinition(CornerClosureInputDefinition): + """ + !!!!! Warning !!!!! + ! This is in preview state; please see the help for more info + !!!!! Warning !!!!! + + Defines the input properties required for creating a two-bend corner closure feature. + This input definition provides a structured way to organize and validate the parameters before passing them to the + setTwoBendCornerClosure method. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> TwoBendCornerClosureInputDefinition: + return TwoBendCornerClosureInputDefinition() + @staticmethod + def create() -> TwoBendCornerClosureInputDefinition: + """ + Creates a TwoBendCornerClosureParameters object that can be used to define parameters for a two-bend corner closure. + Use properties on this object to set the relief shape, relief size, relief placement, miter gap, alignment settings, + and bend transition type before passing it to the setTwoBendCornerClosure method. + Returns the newly created TwoBendCornerClosureParameters object or null if the creation failed. + """ + return TwoBendCornerClosureInputDefinition() + @property + def twoBendReliefShape(self) -> CornerTwoBendReliefShapeTypes: + """ + Gets and sets the relief shape for the two-bend corner. + This defines the geometric shape used to relieve stress at the corner where two bends meet. + This property is ignored when useSheetMetalRuleDefaults is set to true. + The default value is RoundCornerTwoBendReliefShapeType. + """ + return CornerTwoBendReliefShapeTypes() + @twoBendReliefShape.setter + def twoBendReliefShape(self, value: CornerTwoBendReliefShapeTypes): + """ + Gets and sets the relief shape for the two-bend corner. + This defines the geometric shape used to relieve stress at the corner where two bends meet. + This property is ignored when useSheetMetalRuleDefaults is set to true. + The default value is RoundCornerTwoBendReliefShapeType. + """ + pass + @property + def twoBendReliefSize(self) -> core.ValueInput: + """ + Gets and sets the size of the two-bend relief. + This parameter is only valid when the twoBendReliefShape is RoundCornerTwoBendReliefShapeType + or SquareCornerTwoBendReliefShapeType. For other relief shapes, this value is ignored. + This property is ignored when useSheetMetalRuleDefaults is set to true. + """ + return core.ValueInput() + @twoBendReliefSize.setter + def twoBendReliefSize(self, value: core.ValueInput): + """ + Gets and sets the size of the two-bend relief. + This parameter is only valid when the twoBendReliefShape is RoundCornerTwoBendReliefShapeType + or SquareCornerTwoBendReliefShapeType. For other relief shapes, this value is ignored. + This property is ignored when useSheetMetalRuleDefaults is set to true. + """ + pass + @property + def twoBendReliefPlacement(self) -> CornerTwoBendReliefPlacementTypes: + """ + Gets and sets the placement of the two-bend relief. + This parameter controls where the relief feature is positioned relative to the bend intersection. + This parameter is only valid when the twoBendReliefShape is RoundCornerTwoBendReliefShapeType + or SquareCornerTwoBendReliefShapeType. For other relief shapes, this value is ignored. + This property is ignored when useSheetMetalRuleDefaults is set to true. + The default value is TangentCornerTwoBendReliefPlacementType. + """ + return CornerTwoBendReliefPlacementTypes() + @twoBendReliefPlacement.setter + def twoBendReliefPlacement(self, value: CornerTwoBendReliefPlacementTypes): + """ + Gets and sets the placement of the two-bend relief. + This parameter controls where the relief feature is positioned relative to the bend intersection. + This parameter is only valid when the twoBendReliefShape is RoundCornerTwoBendReliefShapeType + or SquareCornerTwoBendReliefShapeType. For other relief shapes, this value is ignored. + This property is ignored when useSheetMetalRuleDefaults is set to true. + The default value is TangentCornerTwoBendReliefPlacementType. + """ + pass + @property + def isUseSheetMetalRuleDefaults(self) -> bool: + """ + Gets and sets whether to use default relief values from the Sheet Metal Rule. + When true, all relief parameters (shape, size, and placement) are taken from the active Sheet Metal Rule, + and any values set in twoBendReliefShape, twoBendReliefSize, and twoBendReliefPlacement properties are ignored. + When false (default), the relief parameters must be explicitly set using the respective properties. + The default value is false. + """ + return bool() + @isUseSheetMetalRuleDefaults.setter + def isUseSheetMetalRuleDefaults(self, value: bool): + """ + Gets and sets whether to use default relief values from the Sheet Metal Rule. + When true, all relief parameters (shape, size, and placement) are taken from the active Sheet Metal Rule, + and any values set in twoBendReliefShape, twoBendReliefSize, and twoBendReliefPlacement properties are ignored. + When false (default), the relief parameters must be explicitly set using the respective properties. + The default value is false. + """ + pass + class TwoDistancesChamferEdgeSet(ChamferEdgeSet): """ Provides access to the edges and the parameters associated with a two distances chamfer. diff --git a/adsk/sim.py b/adsk/sim.py index ba95aad..925a89d 100644 --- a/adsk/sim.py +++ b/adsk/sim.py @@ -7,3 +7,25 @@ from . import core from . import fusion +class StructuralConstraintInput(SimAttributeInput): + """ + This class defines the methods and properties that pertain to the definition of a structural constraint. + """ + def __init__(self): + pass + @staticmethod + def cast(arg) -> StructuralConstraintInput: + return StructuralConstraintInput() + def setTargets(self, entities: list[core.Base]) -> bool: + """ + Sets the targets, vertices/edges/faces of the model. + entities : An array containing the entities to set the constraint on. + Returns true if successful. + """ + return bool() + @property + def type(self) -> ConstraintTypes: + """ + Returns the type of the structural constraint. + """ + return ConstraintTypes()