Download src/Mod/Assembly/App/AssemblyObject.pyi from AbdulElahGwaith/FreeCAD: direct link, hf CLI and curl.
- Browser
- Download file 4.66 kB
-
https://huggingface.co/AbdulElahGwaith/FreeCAD/resolve/main/src/Mod/Assembly/App/AssemblyObject.pyi
- Command line
-
hf download hf://AbdulElahGwaith/FreeCAD/src/Mod/Assembly/App/AssemblyObject.pyi
-
curl -L -o AssemblyObject.pyi https://huggingface.co/AbdulElahGwaith/FreeCAD/resolve/main/src/Mod/Assembly/App/AssemblyObject.pyi
4.66 kB
| # SPDX-License-Identifier: LGPL-2.1-or-later | |
| from __future__ import annotations | |
| from typing import Any, Final | |
| from Base.Metadata import constmethod, export | |
| from App.Part import Part | |
| from App.DocumentObject import DocumentObject | |
| class AssemblyObject(Part): | |
| """ | |
| This class handles document objects in Assembly | |
| Author: Ondsel (development@ondsel.com) | |
| License: LGPL-2.1-or-later | |
| """ | |
| def solve(self, enableUndo: bool = False, /) -> int: | |
| """ | |
| Solve the assembly and update part placements. | |
| Args: | |
| enableRedo: Whether the solve save the initial position of parts | |
| to enable undoing it even without a transaction. | |
| Defaults to `False` ie the solve cannot be undone if called | |
| outside of a transaction. | |
| Returns: | |
| 0 in case of success, otherwise the following codes in this order of | |
| priority: | |
| -6 if no parts are fixed. | |
| -4 if over-constrained, | |
| -3 if conflicting constraints, | |
| -5 if malformed constraints | |
| -1 if solver error, | |
| -2 if redundant constraints. | |
| """ | |
| ... | |
| def generateSimulation(self, simulationObject: DocumentObject, /) -> int: | |
| """ | |
| Generate the simulation. | |
| Args: | |
| simulationObject: The simulation Object. | |
| Returns: | |
| 0 in case of success, otherwise the following codes in this order of | |
| priority: | |
| -6 if no parts are fixed. | |
| -4 if over-constrained, | |
| -3 if conflicting constraints, | |
| -5 if malformed constraints | |
| -1 if solver error, | |
| -2 if redundant constraints. | |
| """ | |
| ... | |
| def updateForFrame(self, index: int, /) -> None: | |
| """ | |
| Update entire assembly to frame number specified. | |
| Args: | |
| index: index of frame. | |
| Returns: None | |
| """ | |
| ... | |
| def numberOfFrames(self) -> int: | |
| """Return Number of frames""" | |
| ... | |
| def undoSolve(self) -> None: | |
| """ | |
| Undo the last solve of the assembly and return part placements to their initial position. | |
| """ | |
| ... | |
| def ensureIdentityPlacements(self) -> None: | |
| """ | |
| Makes sure that LinkGroups or sub-assemblies have identity placements. | |
| """ | |
| ... | |
| def clearUndo(self) -> None: | |
| """ | |
| Clear the registered undo positions. | |
| """ | |
| ... | |
| def isPartConnected(self, obj: DocumentObject, /) -> bool: | |
| """ | |
| Check if a part is connected to the ground through joints. | |
| Returns: True if part is connected to ground. | |
| """ | |
| ... | |
| def isJointConnectingPartToGround(self, joint: DocumentObject, prop_name: str, /) -> Any: | |
| """ | |
| Check if a joint is connecting a part to the ground. | |
| Args: | |
| - joint: document object of the joint to check. | |
| - prop_name: string 'Part1' or 'Part2' of the joint. | |
| Returns: True if part is connected to ground. | |
| """ | |
| ... | |
| def isPartGrounded(self, obj: DocumentObject, /) -> Any: | |
| """ | |
| Check if a part has a grounded joint. | |
| Args: | |
| - obj: document object of the part to check. | |
| Returns: True if part has grounded joint. | |
| """ | |
| ... | |
| def exportAsASMT(self, file_name: str, /) -> None: | |
| """ | |
| Export the assembly in a text format called ASMT. | |
| Args: | |
| - fileName: The name of the file where the ASMT will be exported. | |
| """ | |
| ... | |
| def getDownstreamParts( | |
| self, start_part: DocumentObject, joint_to_ignore: DocumentObject, / | |
| ) -> list[DocumentObject]: | |
| """ | |
| Finds all parts connected to a start_part that are not connected to ground | |
| when a specific joint is ignored. | |
| This is used to find the entire rigid group of unconstrained components that | |
| should be moved together during a pre-solve operation or a drag. | |
| Args: | |
| start_part: The App.DocumentObject to begin the search from. | |
| joint_to_ignore: The App.DocumentObject (a joint) to temporarily | |
| suppress during the connectivity check. | |
| Returns: | |
| A list of App.DocumentObject instances representing the downstream parts. | |
| """ | |
| ... | |
| Joints: Final[list] | |
| """A list of all joints this assembly has.""" | |