[bindings] remove redundant signatures. batch1

This commit is contained in:
Frank Martinez
2025-10-10 14:09:50 -05:00
parent d8b1a36e19
commit fc99a20a03
34 changed files with 194 additions and 668 deletions

View File

@@ -78,13 +78,13 @@ class DocumentObject(ExtensionContainer):
enum_vals: list = [],
) -> "DocumentObject":
"""
addProperty(type: string, name: string, group="", doc="", attr=0, read_only=False, hidden=False, locked = False, enum_vals=[]) -- Add a generic property.
Add a generic property.
"""
...
def removeProperty(self, string: str, /) -> None:
"""
removeProperty(string) -- Remove a generic property.
Remove a generic property.
Note, you can only remove user-defined properties but not built-in ones.
"""
@@ -135,7 +135,7 @@ class DocumentObject(ExtensionContainer):
def recompute(self, recursive: bool = False, /) -> None:
"""
recompute(recursive=False): Recomputes this object
Recomputes this object
"""
...
@@ -166,8 +166,6 @@ class DocumentObject(ExtensionContainer):
depth: int = 0,
) -> Any:
"""
getSubObject(subname, retType=0, matrix=None, transform=True, depth=0)
* subname(string|list|tuple): dot separated string or sequence of strings
referencing subobject.
@@ -196,15 +194,13 @@ class DocumentObject(ExtensionContainer):
def getSubObjectList(self, subname: str, /) -> list:
"""
getSubObjectList(subname)
Return a list of objects referenced by a given subname including this object
"""
...
def getSubObjects(self, reason: int = 0, /) -> list:
"""
getSubObjects(reason=0): Return subname reference of all sub-objects
Return subname reference of all sub-objects
"""
...
@@ -217,7 +213,6 @@ class DocumentObject(ExtensionContainer):
depth: int = 0,
) -> Any:
"""
getLinkedObject(recursive=True, matrix=None, transform=True, depth=0)
Returns the linked object if there is one, or else return itself
* recursive: whether to recursively resolve the links
@@ -234,14 +229,14 @@ class DocumentObject(ExtensionContainer):
def setElementVisible(self, element: str, visible: bool, /) -> int:
"""
setElementVisible(element,visible): Set the visibility of a child element
Set the visibility of a child element
Return -1 if element visibility is not supported, 0 if element not found, 1 if success
"""
...
def isElementVisible(self, element: str, /) -> int:
"""
isElementVisible(element): Check if a child element is visible
Check if a child element is visible
Return -1 if element visibility is not supported or element not found, 0 if invisible, or else 1
"""
...
@@ -288,7 +283,7 @@ class DocumentObject(ExtensionContainer):
@constmethod
def resolve(self, subname: str, /) -> tuple:
"""
resolve(subname) -- resolve the sub object
resolve the sub object
Returns a tuple (subobj,parent,elementName,subElement), where 'subobj' is the
last object referenced in 'subname', and 'parent' is the direct parent of
@@ -301,7 +296,7 @@ class DocumentObject(ExtensionContainer):
@constmethod
def resolveSubElement(self, subname: str, append: bool, type: int, /) -> tuple:
"""
resolveSubElement(subname,append,type) -- resolve both new and old style sub element
resolve both new and old style sub element
subname: subname reference containing object hierarchy
append: Whether to append object hierarchy prefix inside subname to returned element name
@@ -313,22 +308,20 @@ class DocumentObject(ExtensionContainer):
def adjustRelativeLinks(self, parent: DocumentObject, recursive: bool = True, /) -> bool:
"""
adjustRelativeLinks(parent,recursive=True) -- auto correct potential cyclic dependencies
auto correct potential cyclic dependencies
"""
...
@constmethod
def getElementMapVersion(self, property_name: str, /) -> str:
"""
getElementMapVersion(property_name): return element map version of a given geometry property
return element map version of a given geometry property
"""
...
@constmethod
def isAttachedToDocument(self) -> bool:
"""
isAttachedToDocument() -> bool
Return true if the object is part of a document, false otherwise.
"""
...

View File

@@ -23,8 +23,6 @@ class GeoFeature(DocumentObject):
def getPaths(self) -> Any:
"""
getPaths()
Returns all possible paths to the root of the document.
Note: Not implemented.
"""
@@ -32,7 +30,6 @@ class GeoFeature(DocumentObject):
def getGlobalPlacement(self) -> Placement:
"""
getGlobalPlacement() -> Base.Placement
Deprecated: This function does not handle Links correctly. Use getGlobalPlacementOf instead.
Returns the placement of the object in the global coordinate space, respecting all stacked
@@ -45,14 +42,16 @@ class GeoFeature(DocumentObject):
@staticmethod
def getGlobalPlacementOf(targetObj: Any, rootObj: Any, subname: str, /) -> Placement:
"""
getGlobalPlacementOf(targetObj, rootObj, subname) -> Base.Placement
Selection example: obj = "part1" sub = "linkToPart2.LinkToBody.Pad.face1"
Examples:
obj = "part1"
sub = "linkToPart2.LinkToBody.Pad.face1"
Global placement of Pad in this context :
getGlobalPlacementOf(pad, part1, "linkToPart2.LinkToBody.Pad.face1")
Global placement of Pad in this context:
getGlobalPlacementOf(pad, part1, "linkToPart2.LinkToBody.Pad.face1")
Global placement of linkToPart2 in this context :
getGlobalPlacementOf(linkToPart2, part1, "linkToPart2.LinkToBody.Pad.face1")
Global placement of linkToPart2 in this context:
getGlobalPlacementOf(linkToPart2, part1, "linkToPart2.LinkToBody.Pad.face1")
Returns the placement of the object in the global coordinate space, respecting all stacked
relationships.
@@ -61,8 +60,6 @@ class GeoFeature(DocumentObject):
def getPropertyNameOfGeometry(self) -> Optional[str]:
"""
getPropertyNameOfGeometry() -> str or None
Returns the property name of the actual geometry.
For example for a Part feature it returns the value 'Shape', for a mesh feature the value
'Mesh' and so on.
@@ -72,8 +69,6 @@ class GeoFeature(DocumentObject):
def getPropertyOfGeometry(self) -> Optional[Any]:
"""
getPropertyOfGeometry() -> object or None
Returns the property of the actual geometry.
For example for a Part feature it returns its Shape property, for a Mesh feature its
Mesh property and so on.

View File

@@ -72,8 +72,6 @@ class GroupExtension(DocumentObjectExtension):
def hasObject(self, obj: Any, recursive: bool = False, /) -> bool:
"""
hasObject(obj, recursive=false)
Checks if the group has a given object
@param obj the object to check for.
@param recursive if true check also if the obj is child of some sub group (default is false).

View File

@@ -18,15 +18,18 @@ class LinkBaseExtension(DocumentObjectExtension):
LinkedChildren: Final[List[Any]] = []
"""Return a flattened (in case grouped by plain group) list of linked children"""
def configLinkProperty(self, **kwargs) -> Any:
def configLinkProperty(self, *args, **kwargs) -> Any:
"""
configLinkProperty(key=val,...): property configuration
configLinkProperty(key,...): property configuration with default name
Examples:
Called with default names:
configLinkProperty(prop1, prop2, ..., propN)
Called with custom names:
configLinkProperty(prop1=val1, prop2=val2, ..., propN=valN)
This methode is here to implement what I called Property Design
This method is here to implement what I called Property Design
Pattern. The extension operates on a predefined set of properties,
but it relies on the extended object to supply the actual property by
calling this methode. You can choose a sub set of functionality of
calling this method. You can choose a sub set of functionality of
this extension by supplying only some of the supported properties.
The 'key' are names used to refer to properties supported by this
@@ -45,35 +48,34 @@ class LinkBaseExtension(DocumentObjectExtension):
def getLinkExtProperty(self, name: str, /) -> Any:
"""
getLinkExtProperty(name): return the property value by its predefined name
return the property value by its predefined name
"""
...
def getLinkExtPropertyName(self, name: str, /) -> str:
"""
getLinkExtPropertyName(name): lookup the property name by its predefined name
lookup the property name by its predefined name
"""
...
@overload
def getLinkPropertyInfo(self, /) -> tuple:
def getLinkPropertyInfo(self, /) -> tuple[tuple[str, str, str]]:
...
@overload
def getLinkPropertyInfo(self, index: int, /) -> tuple:
def getLinkPropertyInfo(self, index: int, /) -> tuple[str, str, str]:
...
@overload
def getLinkPropertyInfo(self, name: str, /) -> tuple:
def getLinkPropertyInfo(self, name: str, /) -> tuple[str, str]:
...
def getLinkPropertyInfo(self, arg: Any = None, /) -> tuple:
"""
getLinkPropertyInfo(): return a tuple of (name,type,doc) for all supported properties.
getLinkPropertyInfo(index): return (name,type,doc) of a specific property
getLinkPropertyInfo(name): return (type,doc) of a specific property
Overloads:
(): return (name,type,doc) for all supported properties.
(index): return (name,type,doc) of a specific property
(name): return (type,doc) of a specific property
"""
...
@@ -85,12 +87,7 @@ class LinkBaseExtension(DocumentObjectExtension):
/,
) -> None:
"""
setLink(obj,subName=None,subElements=None): Set link object.
setLink([obj,...]),
setLink([(obj,subName,subElements),...]),
setLink({index:obj,...}),
setLink({index:(obj,subName,subElements),...}): set link element of a link group.
Called with only obj, set link object, otherwise set link element of a link group.
obj (DocumentObject): the object to link to. If this is None, then the link is cleared
@@ -102,7 +99,7 @@ class LinkBaseExtension(DocumentObjectExtension):
def cacheChildLabel(self, enable: bool = True, /) -> None:
"""
cacheChildLabel(enable=True): enable/disable child label cache
enable/disable child label cache
The cache is not updated on child label change for performance reason. You must
call this function on any child label change
@@ -111,16 +108,12 @@ class LinkBaseExtension(DocumentObjectExtension):
def flattenSubname(self, subname: str, /) -> str:
"""
flattenSubname(subname) -> string
Return a flattened subname in case it references an object inside a linked plain group
"""
...
def expandSubname(self, subname: str, /) -> str:
"""
expandSubname(subname) -> string
Return an expanded subname in case it references an object inside a linked plain group
"""
...

View File

@@ -27,8 +27,6 @@ class MeasureManager(PyObjectBase):
@staticmethod
def addMeasureType(id: str, label: str, measureType: MeasureType, /) -> None:
"""
addMeasureType(id, label, measureType) -> None
Add a new measure type.
id : str
@@ -44,8 +42,6 @@ class MeasureManager(PyObjectBase):
@no_args
def getMeasureTypes() -> List[Tuple[str, str, MeasureType]]:
"""
getMeasureTypes() -> List[(id, label, pythonMeasureType)]
Returns a list of all registered measure types.
"""
...

View File

@@ -191,8 +191,6 @@ class Metadata(PyObjectBase):
def getLastSupportedFreeCADVersion(self) -> Optional[str]:
"""
getLastSupportedFreeCADVersion() -> str or None
Search through all content package items, and determine if a maximum supported
version of FreeCAD is set.
Returns None if no maximum version is set, or if *any* content item fails to
@@ -203,8 +201,6 @@ class Metadata(PyObjectBase):
def getFirstSupportedFreeCADVersion(self) -> Optional[str]:
"""
getFirstSupportedFreeCADVersion() -> str or None
Search through all content package items, and determine if a minimum supported
version of FreeCAD is set.
Returns 0.0 if no minimum version is set, or if *any* content item fails to
@@ -216,8 +212,6 @@ class Metadata(PyObjectBase):
def supportsCurrentFreeCAD(self) -> bool:
"""
supportsCurrentFreeCAD() -> bool
Returns False if this metadata object directly indicates that it does not
support the current version of FreeCAD, or True if it makes no indication, or
specifically indicates that it does support the current version. Does not
@@ -227,8 +221,6 @@ class Metadata(PyObjectBase):
def getGenericMetadata(self, name: str, /) -> List[Any]:
"""
getGenericMetadata(name) -> list
Get the list of GenericMetadata objects with key 'name'.
Generic metadata objects are Python objects with a string 'contents' and a
dictionary of strings, 'attributes'. They represent unrecognized simple XML tags
@@ -238,56 +230,42 @@ class Metadata(PyObjectBase):
def addContentItem(self, content_type: str, metadata: "Metadata", /) -> None:
"""
addContentItem(content_type,metadata)
Add a new content item of type 'content_type' with metadata 'metadata'.
"""
...
def removeContentItem(self, content_type: str, name: str, /) -> None:
"""
removeContentItem(content_type,name)
Remove the content item of type 'content_type' with name 'name'.
"""
...
def addMaintainer(self, name: str, email: str, /) -> None:
"""
addMaintainer(name, email)
Add a new Maintainer.
"""
...
def removeMaintainer(self, name: str, email: str, /) -> None:
"""
removeMaintainer(name, email)
Remove the Maintainer.
"""
...
def addLicense(self, short_code: str, path: str, /) -> None:
"""
addLicense(short_code,path)
Add a new License.
"""
...
def removeLicense(self, short_code: str, /) -> None:
"""
removeLicense(short_code)
Remove the License.
"""
...
def addUrl(self, url_type: str, url: str, branch: str, /) -> None:
"""
addUrl(url_type,url,branch)
Add a new Url or type 'url_type' (which should be one of 'repository', 'readme',
'bugtracker', 'documentation', or 'webpage') If type is 'repository' you
@@ -298,32 +276,24 @@ class Metadata(PyObjectBase):
def removeUrl(self, url_type: str, url: str, /) -> None:
"""
removeUrl(url_type,url)
Remove the Url.
"""
...
def addAuthor(self, name: str, email: str, /) -> None:
"""
addAuthor(name, email)
Add a new Author with name 'name', and optionally email 'email'.
"""
...
def removeAuthor(self, name: str, email: str, /) -> None:
"""
removeAuthor(name, email)
Remove the Author.
"""
...
def addDepend(self, name: str, kind: str, optional: bool, /) -> None:
"""
addDepend(name, kind, optional)
Add a new Dependency on package 'name' of kind 'kind' (optional, one of 'auto' (the default),
'internal', 'addon', or 'python').
@@ -332,8 +302,6 @@ class Metadata(PyObjectBase):
def removeDepend(self, name: str, kind: str, /) -> None:
"""
removeDepend(name, kind)
Remove the Dependency on package 'name' of kind 'kind' (optional - if unspecified any
matching name is removed).
@@ -342,72 +310,54 @@ class Metadata(PyObjectBase):
def addConflict(self, name: str, kind: str, /) -> None:
"""
addConflict(name, kind)
Add a new Conflict. See documentation for addDepend().
"""
...
def removeConflict(self, name: str, kind: str, /) -> None:
"""
removeConflict(name, kind)
Remove the Conflict. See documentation for removeDepend().
"""
...
def addReplace(self, name: str, /) -> None:
"""
addReplace(name)
Add a new Replace.
"""
...
def removeReplace(self, name: str, /) -> None:
"""
removeReplace(name)
Remove the Replace.
"""
...
def addTag(self, tag: str, /) -> None:
"""
addTag(tag)
Add a new Tag.
"""
...
def removeTag(self, tag: str, /) -> None:
"""
removeTag(tag)
Remove the Tag.
"""
...
def addFile(self, filename: str, /) -> None:
"""
addFile(filename)
Add a new File.
"""
...
def removeFile(self, filename: str, /) -> None:
"""
removeFile(filename)
Remove the File.
"""
...
def write(self, filename: str, /) -> None:
"""
write(filename)
Write the metadata to the given file as XML data.
"""
...

View File

@@ -18,8 +18,6 @@ class PropertyContainer(Persistence):
def getPropertyByName(self, name: str, checkOwner: int = 0, /) -> Any:
"""
getPropertyByName(name, checkOwner=0) -> object or Tuple
Returns the value of a named property. Note that the returned property may not
always belong to this container (e.g. from a linked object).
@@ -34,8 +32,6 @@ class PropertyContainer(Persistence):
def getPropertyTouchList(self, name: str, /) -> tuple:
"""
getPropertyTouchList(name) -> tuple
Returns a list of index of touched values for list type properties.
name : str
@@ -45,8 +41,6 @@ class PropertyContainer(Persistence):
def getTypeOfProperty(self, name: str, /) -> list:
"""
getTypeOfProperty(name) -> list
Returns the type of a named property. This can be a list conformed by elements in
(Hidden, NoRecompute, NoPersist, Output, ReadOnly, Transient).
@@ -57,8 +51,6 @@ class PropertyContainer(Persistence):
def getTypeIdOfProperty(self, name: str, /) -> str:
"""
getTypeIdOfProperty(name) -> str
Returns the C++ class name of a named property.
name : str
@@ -68,8 +60,6 @@ class PropertyContainer(Persistence):
def setEditorMode(self, name: str, type: Union[int, List[str]], /) -> None:
"""
setEditorMode(name, type) -> None
Set the behaviour of the property in the property editor.
name : str
@@ -83,8 +73,6 @@ class PropertyContainer(Persistence):
def getEditorMode(self, name: str, /) -> list:
"""
getEditorMode(name) -> list
Get the behaviour of the property in the property editor.
It returns a list of strings with the current mode. If the list is empty there are no
special restrictions.
@@ -99,8 +87,6 @@ class PropertyContainer(Persistence):
def getGroupOfProperty(self, name: str, /) -> str:
"""
getGroupOfProperty(name) -> str
Returns the name of the group which the property belongs to in this class.
The properties are sorted in different named groups for convenience.
@@ -111,8 +97,6 @@ class PropertyContainer(Persistence):
def setGroupOfProperty(self, name: str, group: str, /) -> None:
"""
setGroupOfProperty(name, group) -> None
Set the name of the group of a dynamic property.
name : str
@@ -124,8 +108,6 @@ class PropertyContainer(Persistence):
def setPropertyStatus(self, name: str, val: Union[int, str, List[Union[str, int]]], /) -> None:
"""
setPropertyStatus(name, val) -> None
Set property status.
name : str
@@ -138,8 +120,6 @@ class PropertyContainer(Persistence):
def getPropertyStatus(self, name: str = "", /) -> list:
"""
getPropertyStatus(name='') -> list
Get property status.
name : str
@@ -149,8 +129,6 @@ class PropertyContainer(Persistence):
def getDocumentationOfProperty(self, name: str, /) -> str:
"""
getDocumentationOfProperty(name) -> str
Returns the documentation string of the property of this class.
name : str
@@ -160,8 +138,6 @@ class PropertyContainer(Persistence):
def setDocumentationOfProperty(self, name: str, docstring: str, /) -> None:
"""
setDocumentationOfProperty(name, docstring) -> None
Set the documentation string of a dynamic property of this class.
name : str
@@ -173,8 +149,6 @@ class PropertyContainer(Persistence):
def getEnumerationsOfProperty(self, name: str, /) -> Optional[list]:
"""
getEnumerationsOfProperty(name) -> list or None
Return all enumeration strings of the property of this class or None if not a
PropertyEnumeration.
@@ -186,8 +160,6 @@ class PropertyContainer(Persistence):
@constmethod
def dumpPropertyContent(self, Property: str, *, Compression: int = 3) -> bytearray:
"""
dumpPropertyContent(Property, Compression=3) -> bytearray
Dumps the content of the property, both the XML representation and the additional
data files required, into a byte representation.
@@ -200,8 +172,6 @@ class PropertyContainer(Persistence):
def restorePropertyContent(self, name: str, obj: object, /) -> None:
"""
restorePropertyContent(name, obj) -> None
Restore the content of the object from a byte representation as stored by `dumpPropertyContent`.
It could be restored from any Python object implementing the buffer protocol.
@@ -215,8 +185,6 @@ class PropertyContainer(Persistence):
@constmethod
def renameProperty(self, oldName: str, newName: str, /) -> None:
"""
renameProperty(oldName, newName) -> None
Rename a property.
oldName : str

View File

@@ -29,8 +29,6 @@ class StringHasher(BaseClass):
def getID(self, arg: Any, base64: bool = False, /) -> Any:
"""
getID(txt|id, base64=False) -> StringID
If the input is text, return a StringID object that is unique within this hasher. This
StringID object is reference counted. The hasher may only save hash ID's that are used.

View File

@@ -51,16 +51,12 @@ class Axis(PyObjectBase):
def copy(self) -> Axis:
"""
copy() -> Base.Axis
Returns a copy of this Axis.
"""
...
def move(self, vector: Vector, /) -> None:
"""
move(vector) -> None
Move the axis base along the given vector.
vector : Base.Vector
@@ -70,8 +66,6 @@ class Axis(PyObjectBase):
def multiply(self, placement: Placement, /) -> Axis:
"""
multiply(placement) -> Base.Axis
Multiply this axis by a placement.
placement : Base.Placement
@@ -81,8 +75,6 @@ class Axis(PyObjectBase):
def reversed(self) -> Axis:
"""
reversed() -> Base.Axis
Compute the reversed axis. This returns a new Base.Axis with
the original direction reversed.
"""

View File

@@ -121,8 +121,6 @@ class BoundBox(PyObjectBase):
def setVoid(self) -> None:
"""
setVoid() -> None
Invalidate the bounding box.
"""
...
@@ -130,8 +128,6 @@ class BoundBox(PyObjectBase):
@constmethod
def isValid(self) -> bool:
"""
isValid() -> bool
Checks if the bounding box is valid.
"""
...
@@ -150,9 +146,6 @@ class BoundBox(PyObjectBase):
def add(self, *args: Any, **kwargs: Any) -> None:
"""
add(minMax) -> None
add(x, y, z) -> None
Increase the maximum values or decrease the minimum values of this BoundBox by
replacing the current values with the given values, so the bounding box can grow
but not shrink.
@@ -171,8 +164,6 @@ class BoundBox(PyObjectBase):
@constmethod
def getPoint(self, index: int, /) -> Vector:
"""
getPoint(index) -> Base.Vector
Get the point of the given index.
The index must be in the range of [0, 7].
@@ -183,8 +174,6 @@ class BoundBox(PyObjectBase):
@constmethod
def getEdge(self, index: int, /) -> Tuple[Vector, ...]:
"""
getEdge(index) -> tuple of Base.Vector
Get the edge points of the given index.
The index must be in the range of [0, 11].
@@ -203,9 +192,6 @@ class BoundBox(PyObjectBase):
@constmethod
def closestPoint(self, *args: Any, **kwargs: Any) -> Vector:
"""
closestPoint(point) -> Base.Vector
closestPoint(x, y, z) -> Base.Vector
Get the closest point of the bounding box to the given point.
point : Base.Vector, tuple
@@ -234,9 +220,6 @@ class BoundBox(PyObjectBase):
def intersect(self, *args: Any) -> bool:
"""
intersect(boundBox2) -> bool
intersect(base, dir) -> bool
Checks if the given object intersects with this bounding box. That can be
another bounding box or a line specified by base and direction.
@@ -248,8 +231,6 @@ class BoundBox(PyObjectBase):
def intersected(self, boundBox2: "BoundBox", /) -> "BoundBox":
"""
intersected(boundBox2) -> Base.BoundBox
Returns the intersection of this and the given bounding box.
boundBox2 : Base.BoundBox
@@ -258,8 +239,6 @@ class BoundBox(PyObjectBase):
def united(self, boundBox2: "BoundBox", /) -> "BoundBox":
"""
united(boundBox2) -> Base.BoundBox
Returns the union of this and the given bounding box.
boundBox2 : Base.BoundBox
@@ -268,8 +247,6 @@ class BoundBox(PyObjectBase):
def enlarge(self, variation: float, /) -> None:
"""
enlarge(variation) -> None
Decrease the minimum values and increase the maximum values by the given value.
A negative value shrinks the bounding box.
@@ -279,8 +256,6 @@ class BoundBox(PyObjectBase):
def getIntersectionPoint(self, base: Vector, dir: Vector, epsilon: float = 0.0001, /) -> Vector:
"""
getIntersectionPoint(base, dir, epsilon=0.0001) -> Base.Vector
Calculate the intersection point of a line with the bounding box.
The base point must lie inside the bounding box, if not an exception is thrown.
@@ -307,9 +282,6 @@ class BoundBox(PyObjectBase):
def move(self, *args: Any, **kwargs: Any) -> None:
"""
move(displacement) -> None
move(x, y, z) -> None
Move the bounding box by the given values.
displacement : Base.Vector, tuple
@@ -337,9 +309,6 @@ class BoundBox(PyObjectBase):
def scale(self, *args: Any, **kwargs: Any) -> None:
"""
scale(factor) -> None
scale(x, y, z) -> None
Scale the bounding box by the given values.
factor : Base.Vector, tuple
@@ -355,8 +324,6 @@ class BoundBox(PyObjectBase):
def transformed(self, matrix: Matrix, /) -> "BoundBox":
"""
transformed(matrix) -> Base.BoundBox
Returns a new BoundBox containing the transformed rectangular cuboid
represented by this BoundBox.
@@ -367,8 +334,6 @@ class BoundBox(PyObjectBase):
def isCutPlane(self, base: Vector, normal: Vector, /) -> bool:
"""
isCutPlane(base, normal) -> bool
Check if the plane specified by base and normal intersects (cuts) this bounding
box.
@@ -391,9 +356,6 @@ class BoundBox(PyObjectBase):
def isInside(self, *args: Any) -> bool:
"""
isInside(object) -> bool
isInside(x, y, z) -> bool
Check if a point or a bounding box is inside this bounding box.
object : Base.Vector, Base.BoundBox

View File

@@ -45,8 +45,6 @@ class CoordinateSystem(PyObjectBase):
def setAxes(self, axis: Union[AxisPy, Vector], xDir: Vector, /) -> None:
"""
setAxes(axis, xDir) -> None
Set axis or Z-direction, and X-direction.
The X-direction is determined from the orthonormal compononent of `xDir`
with respect to `axis` direction.
@@ -59,8 +57,6 @@ class CoordinateSystem(PyObjectBase):
@constmethod
def displacement(self, coordSystem2: "CoordinateSystem", /) -> Placement:
"""
displacement(coordSystem2) -> Base.Placement
Computes the placement from this to the passed coordinate system `coordSystem2`.
coordSystem2 : Base.CoordinateSystem
@@ -69,8 +65,6 @@ class CoordinateSystem(PyObjectBase):
def transformTo(self, vector: Vector, /) -> Vector:
"""
transformTo(vector) -> Base.Vector
Computes the coordinates of the point in coordinates of this coordinate system.
vector : Base.Vector
@@ -79,8 +73,6 @@ class CoordinateSystem(PyObjectBase):
def transform(self, trans: Union[Rotation, Placement], /) -> None:
"""
transform(trans) -> None
Applies a transformation on this coordinate system.
trans : Base.Rotation, Base.Placement
@@ -89,8 +81,6 @@ class CoordinateSystem(PyObjectBase):
def setPlacement(self, placement: Placement, /) -> None:
"""
setPlacement(placement) -> None
Set placement to the coordinate system.
placement : Base.Placement

View File

@@ -118,9 +118,6 @@ class Matrix(PyObjectBase):
def move(self, *args) -> None:
"""
move(vector) -> None
move(x, y, z) -> None
Move the matrix along a vector, equivalent to left multiply the matrix
by a pure translation transformation.
@@ -148,10 +145,6 @@ class Matrix(PyObjectBase):
def scale(self, *args) -> None:
"""
scale(vector) -> None
scale(x, y, z) -> None
scale(factor) -> None
Scale the first three rows of the matrix.
vector : Base.Vector
@@ -169,8 +162,6 @@ class Matrix(PyObjectBase):
@constmethod
def hasScale(self, tol: float = 0, /) -> ScaleType:
"""
hasScale(tol=0) -> ScaleType
Return an enum value of ScaleType. Possible values are:
Uniform, NonUniformLeft, NonUniformRight, NoScaling or Other
if it's not a scale matrix.
@@ -182,8 +173,6 @@ class Matrix(PyObjectBase):
@constmethod
def decompose(self) -> Tuple["Matrix", "Matrix", "Matrix", "Matrix"]:
"""
decompose() -> Base.Matrix, Base.Matrix, Base.Matrix, Base.Matrix
Return a tuple of matrices representing shear, scale, rotation and move.
So that matrix = move * rotation * scale * shear.
"""
@@ -192,8 +181,6 @@ class Matrix(PyObjectBase):
@no_args
def nullify(self) -> None:
"""
nullify() -> None
Make this the null matrix.
"""
...
@@ -202,8 +189,6 @@ class Matrix(PyObjectBase):
@constmethod
def isNull(self) -> bool:
"""
isNull() -> bool
Check if this is the null matrix.
"""
...
@@ -211,8 +196,6 @@ class Matrix(PyObjectBase):
@no_args
def unity(self) -> None:
"""
unity() -> None
Make this matrix to unity (4D identity matrix).
"""
...
@@ -220,16 +203,12 @@ class Matrix(PyObjectBase):
@constmethod
def isUnity(self, tol: float = 0.0, /) -> bool:
"""
isUnity([tol=0.0]) -> bool
Check if this is the unit matrix (4D identity matrix).
"""
...
def transform(self, vector: Vector, matrix2: "Matrix", /) -> None:
"""
transform(vector, matrix2) -> None
Transform the matrix around a given point.
Equivalent to left multiply the matrix by T*M*T_inv, where M is `matrix2`, T the
translation generated by `vector` and T_inv the inverse translation.
@@ -244,8 +223,6 @@ class Matrix(PyObjectBase):
@constmethod
def col(self, index: int, /) -> Vector:
"""
col(index) -> Base.Vector
Return the vector of a column, that is, the vector generated by the three
first elements of the specified column.
@@ -256,8 +233,6 @@ class Matrix(PyObjectBase):
def setCol(self, index: int, vector: Vector, /) -> None:
"""
setCol(index, vector) -> None
Set the vector of a column, that is, the three first elements of the specified
column by index.
@@ -270,8 +245,6 @@ class Matrix(PyObjectBase):
@constmethod
def row(self, index: int, /) -> Vector:
"""
row(index) -> Base.Vector
Return the vector of a row, that is, the vector generated by the three
first elements of the specified row.
@@ -282,8 +255,6 @@ class Matrix(PyObjectBase):
def setRow(self, index: int, vector: Vector, /) -> None:
"""
setRow(index, vector) -> None
Set the vector of a row, that is, the three first elements of the specified
row by index.
@@ -297,16 +268,12 @@ class Matrix(PyObjectBase):
@constmethod
def diagonal(self) -> Vector:
"""
diagonal() -> Base.Vector
Return the diagonal of the 3x3 leading principal submatrix as vector.
"""
...
def setDiagonal(self, vector: Vector, /) -> None:
"""
setDiagonal(vector) -> None
Set the diagonal of the 3x3 leading principal submatrix.
vector : Base.Vector
@@ -315,8 +282,6 @@ class Matrix(PyObjectBase):
def rotateX(self, angle: float, /) -> None:
"""
rotateX(angle) -> None
Rotate around X axis.
angle : float
@@ -326,8 +291,6 @@ class Matrix(PyObjectBase):
def rotateY(self, angle: float, /) -> None:
"""
rotateY(angle) -> None
Rotate around Y axis.
angle : float
@@ -337,8 +300,6 @@ class Matrix(PyObjectBase):
def rotateZ(self, angle: float, /) -> None:
"""
rotateZ(angle) -> None
Rotate around Z axis.
angle : float
@@ -357,9 +318,6 @@ class Matrix(PyObjectBase):
@constmethod
def multiply(self, obj: Union["Matrix", Vector], /) -> Union["Matrix", Vector]:
"""
multiply(matrix) -> Base.Matrix
multiply(vector) -> Base.Vector
Right multiply the matrix by the given object.
If the argument is a vector, this is augmented to the 4D vector (`vector`, 1).
@@ -371,8 +329,6 @@ class Matrix(PyObjectBase):
@constmethod
def multVec(self, vector: Vector, /) -> Vector:
"""
multVec(vector) -> Base.Vector
Compute the transformed vector using the matrix.
vector : Base.Vector
@@ -382,8 +338,6 @@ class Matrix(PyObjectBase):
@no_args
def invert(self) -> None:
"""
invert() -> None
Compute the inverse matrix in-place, if possible.
"""
...
@@ -392,8 +346,6 @@ class Matrix(PyObjectBase):
@constmethod
def inverse(self) -> "Matrix":
"""
inverse() -> Base.Matrix
Compute the inverse matrix, if possible.
"""
...
@@ -401,8 +353,6 @@ class Matrix(PyObjectBase):
@no_args
def transpose(self) -> None:
"""
transpose() -> None
Transpose the matrix in-place.
"""
...
@@ -411,8 +361,6 @@ class Matrix(PyObjectBase):
@constmethod
def transposed(self) -> "Matrix":
"""
transposed() -> Base.Matrix
Returns a transposed copy of this matrix.
"""
...
@@ -421,8 +369,6 @@ class Matrix(PyObjectBase):
@constmethod
def determinant(self) -> float:
"""
determinant() -> float
Compute the determinant of the matrix.
"""
...
@@ -430,8 +376,6 @@ class Matrix(PyObjectBase):
@constmethod
def isOrthogonal(self, tol: float = 1e-6, /) -> float:
"""
isOrthogonal(tol=1e-6) -> float
Checks if the matrix is orthogonal, i.e. M * M^T = k*I and returns
the multiple of the identity matrix. If it's not orthogonal 0 is returned.
@@ -443,8 +387,6 @@ class Matrix(PyObjectBase):
@constmethod
def submatrix(self, dim: int, /) -> "Matrix":
"""
submatrix(dim) -> Base.Matrix
Get the leading principal submatrix of the given dimension.
The (4 - `dim`) remaining dimensions are completed with the
corresponding identity matrix.
@@ -458,8 +400,6 @@ class Matrix(PyObjectBase):
@constmethod
def analyze(self) -> str:
"""
analyze() -> str
Analyzes the type of transformation.
"""
...

View File

@@ -26,8 +26,6 @@ class Persistence(BaseClass):
@constmethod
def dumpContent(self, Compression: int = 3) -> bytearray:
"""
dumpContent(Compression=3) -> bytearray
Dumps the content of the object, both the XML representation and the additional
data files required, into a byte representation.
@@ -39,8 +37,6 @@ class Persistence(BaseClass):
def restoreContent(self, obj: object, /) -> None:
# TODO: Starting with Python 3.12, collections.abc.Buffer can be used for type hinting
"""
restoreContent(obj) -> None
Restore the content of the object from a byte representation as stored by `dumpContent`.
It could be restored from any Python object implementing the buffer protocol.

View File

@@ -89,16 +89,12 @@ class Placement(PyObjectBase):
@constmethod
def copy(self) -> "Placement":
"""
copy() -> Base.Placement
Returns a copy of this placement.
"""
...
def move(self, vector: Vector, /) -> None:
"""
move(vector) -> None
Move the placement along a vector.
vector : Base.Vector
@@ -108,8 +104,6 @@ class Placement(PyObjectBase):
def translate(self, vector: Vector, /) -> None:
"""
translate(vector) -> None
Alias to move(), to be compatible with TopoShape.translate().
vector : Base.Vector
@@ -126,8 +120,6 @@ class Placement(PyObjectBase):
@overload
def rotate(self, center: Vector, axis: Vector, angle: float, *, comp: bool = False) -> None:
"""
rotate(center, axis, angle, comp) -> None
Rotate the current placement around center and axis with the given angle.
This method is compatible with TopoShape.rotate() if the (optional) keyword
argument comp is True (default=False).
@@ -149,8 +141,6 @@ class Placement(PyObjectBase):
@constmethod
def multiply(self, placement: "Placement", /) -> "Placement":
"""
multiply(placement) -> Base.Placement
Right multiply this placement with another placement.
Also available as `*` operator.
@@ -162,8 +152,6 @@ class Placement(PyObjectBase):
@constmethod
def multVec(self, vector: Vector, /) -> Vector:
"""
multVec(vector) -> Base.Vector
Compute the transformed vector using the placement.
vector : Base.Vector
@@ -174,8 +162,6 @@ class Placement(PyObjectBase):
@constmethod
def toMatrix(self) -> MatrixPy:
"""
toMatrix() -> Base.Matrix
Compute the matrix representation of the placement.
"""
...
@@ -183,8 +169,6 @@ class Placement(PyObjectBase):
@constmethod
def inverse(self) -> "Placement":
"""
inverse() -> Base.Placement
Compute the inverse placement.
"""
...
@@ -192,8 +176,6 @@ class Placement(PyObjectBase):
@constmethod
def pow(self, t: float, shorten: bool = True, /) -> "Placement":
"""
pow(t, shorten=True) -> Base.Placement
Raise this placement to real power using ScLERP interpolation.
Also available as `**` operator.
@@ -208,8 +190,6 @@ class Placement(PyObjectBase):
@constmethod
def sclerp(self, placement2: "Placement", t: float, shorten: bool = True, /) -> "Placement":
"""
sclerp(placement2, t, shorten=True) -> Base.Placement
Screw Linear Interpolation (ScLERP) between this placement and `placement2`.
Interpolation is a continuous motion along a helical path parametrized by `t`
made of equal transforms if discretized.
@@ -229,8 +209,6 @@ class Placement(PyObjectBase):
@constmethod
def slerp(self, placement2: "Placement", t: float, /) -> "Placement":
"""
slerp(placement2, t) -> Base.Placement
Spherical Linear Interpolation (SLERP) between this placement and `placement2`.
This function performs independent interpolation of rotation and movement.
Result of such interpolation might be not what application expects, thus this tool
@@ -246,8 +224,6 @@ class Placement(PyObjectBase):
@constmethod
def isIdentity(self, tol: float = 0.0, /) -> bool:
"""
isIdentity([tol=0.0]) -> bool
Returns True if the placement has no displacement and no rotation.
Matrix representation is the 4D identity matrix.
tol : float
@@ -259,8 +235,6 @@ class Placement(PyObjectBase):
@constmethod
def isSame(self, other: "Placement", tol: float = 0.0, /) -> bool:
"""
isSame(Base.Placement, [tol=0.0]) -> bool
Checks whether this and the given placement are the same.
The default tolerance is set to 0.0
"""

View File

@@ -66,8 +66,6 @@ class Quantity(PyObjectBase):
@constmethod
def toStr(self, decimals: int = ..., /) -> str:
"""
toStr([decimals])
Returns a string representation rounded to number of decimals. If no decimals are specified then
the internal precision is used
"""

View File

@@ -132,8 +132,6 @@ class Rotation(PyObjectBase):
def invert(self) -> None:
"""
invert() -> None
Sets the rotation to its inverse.
"""
...
@@ -141,16 +139,12 @@ class Rotation(PyObjectBase):
@constmethod
def inverted(self) -> "Rotation":
"""
inverted() -> Base.Rotation
Returns the inverse of the rotation.
"""
...
def isSame(self, rotation: "Rotation", tol: float = 0, /) -> bool:
"""
isSame(rotation, tol=0) -> bool
Checks if `rotation` perform the same transformation as this rotation.
rotation : Base.Rotation
@@ -163,8 +157,6 @@ class Rotation(PyObjectBase):
@constmethod
def multiply(self, rotation: "Rotation", /) -> "Rotation":
"""
multiply(rotation) -> Base.Rotation
Right multiply this rotation with another rotation.
rotation : Base.Rotation
@@ -175,8 +167,6 @@ class Rotation(PyObjectBase):
@constmethod
def multVec(self, vector: Vector, /) -> Vector:
"""
multVec(vector) -> Base.Vector
Compute the transformed vector using the rotation.
vector : Base.Vector
@@ -187,8 +177,6 @@ class Rotation(PyObjectBase):
@constmethod
def slerp(self, rotation2: "Rotation", t: float, /) -> "Rotation":
"""
slerp(rotation2, t) -> Base.Rotation
Spherical Linear Interpolation (SLERP) of this rotation and `rotation2`.
t : float
@@ -198,8 +186,6 @@ class Rotation(PyObjectBase):
def setYawPitchRoll(self, angle1: float, angle2: float, angle3: float, /) -> None:
"""
setYawPitchRoll(angle1, angle2, angle3) -> None
Set the Euler angles of this rotation as yaw-pitch-roll in XY'Z'' convention.
angle1 : float
@@ -214,8 +200,6 @@ class Rotation(PyObjectBase):
@constmethod
def getYawPitchRoll(self) -> Tuple[float, float, float]:
"""
getYawPitchRoll() -> tuple
Get the Euler angles of this rotation as yaw-pitch-roll in XY'Z'' convention.
The angles are given in degrees.
"""
@@ -223,8 +207,6 @@ class Rotation(PyObjectBase):
def setEulerAngles(self, seq: str, angle1: float, angle2: float, angle3: float, /) -> None:
"""
setEulerAngles(seq, angle1, angle2, angle3) -> None
Set the Euler angles in a given sequence for this rotation.
The angles must be given in degrees.
@@ -239,8 +221,6 @@ class Rotation(PyObjectBase):
@constmethod
def toEulerAngles(self, seq: str = "", /) -> List[float]:
"""
toEulerAngles(seq) -> list
Get the Euler angles in a given sequence for this rotation.
seq : str
@@ -252,8 +232,6 @@ class Rotation(PyObjectBase):
@constmethod
def toMatrix(self) -> Matrix:
"""
toMatrix() -> Base.Matrix
Convert the rotation to a 4D matrix representation.
"""
...
@@ -261,8 +239,6 @@ class Rotation(PyObjectBase):
@constmethod
def isNull(self) -> bool:
"""
isNull() -> bool
Returns True if all values in the quaternion representation are zero.
"""
...
@@ -270,8 +246,6 @@ class Rotation(PyObjectBase):
@constmethod
def isIdentity(self, tol: float = 0, /) -> bool:
"""
isIdentity(tol=0) -> bool
Returns True if the rotation equals the 4D identity matrix.
tol : float
Tolerance used to check for identity.

View File

@@ -38,8 +38,6 @@ class Type(PyObjectBase):
@staticmethod
def fromName(name: str, /) -> "Type":
"""
fromName(name) -> Base.BaseType
Returns a type object by name.
name : str
@@ -49,8 +47,6 @@ class Type(PyObjectBase):
@staticmethod
def fromKey(key: int, /) -> "Type":
"""
fromKey(key) -> Base.BaseType
Returns a type id object by key.
key : int
@@ -60,8 +56,6 @@ class Type(PyObjectBase):
@staticmethod
def getNumTypes() -> int:
"""
getNumTypes() -> int
Returns the number of type ids created so far.
"""
...
@@ -69,8 +63,6 @@ class Type(PyObjectBase):
@staticmethod
def getBadType() -> "Type":
"""
getBadType() -> Base.BaseType
Returns an invalid type id.
"""
...
@@ -78,8 +70,6 @@ class Type(PyObjectBase):
@staticmethod
def getAllDerivedFrom(type: str, /) -> List[str]:
"""
getAllDerivedFrom(type) -> list
Returns all descendants from the given type id.
type : str, Base.BaseType
@@ -89,8 +79,6 @@ class Type(PyObjectBase):
@constmethod
def getParent(self) -> "Type":
"""
getParent() -> Base.BaseType
Returns the parent type id.
"""
...
@@ -98,8 +86,6 @@ class Type(PyObjectBase):
@constmethod
def isBad(self) -> bool:
"""
isBad() -> bool
Checks if the type id is invalid.
"""
...
@@ -107,8 +93,6 @@ class Type(PyObjectBase):
@constmethod
def isDerivedFrom(self, type: str, /) -> bool:
"""
isDerivedFrom(type) -> bool
Returns true if given type id is a father of this type id.
type : str, Base.BaseType
@@ -118,16 +102,12 @@ class Type(PyObjectBase):
@constmethod
def getAllDerived(self) -> List[object]:
"""
getAllDerived() -> list
Returns all descendants from this type id.
"""
...
def createInstance(self) -> object:
"""
createInstance() -> object
Creates an instance of this type id.
"""
...
@@ -135,8 +115,6 @@ class Type(PyObjectBase):
@staticmethod
def createInstanceByName(name: str, load: bool = False, /) -> object:
"""
createInstanceByName(name, load=False) -> object
Creates an instance of the named type id.
name : str

View File

@@ -89,8 +89,6 @@ class Vector(PyObjectBase):
@constmethod
def __reduce__(self) -> tuple:
"""
__reduce__() -> tuple
Serialization of Vector objects.
"""
...
@@ -98,8 +96,6 @@ class Vector(PyObjectBase):
@constmethod
def add(self, vector2: "Vector", /) -> "Vector":
"""
add(vector2) -> Base.Vector
Returns the sum of this vector and `vector2`.
vector2 : Base.Vector
@@ -109,8 +105,6 @@ class Vector(PyObjectBase):
@constmethod
def sub(self, vector2: "Vector", /) -> "Vector":
"""
sub(vector2) -> Base.Vector
Returns the difference of this vector and `vector2`.
vector2 : Base.Vector
@@ -120,16 +114,12 @@ class Vector(PyObjectBase):
@constmethod
def negative(self) -> "Vector":
"""
negative() -> Base.Vector
Returns the negative (opposite) of this vector.
"""
...
def scale(self, x: float, y: float, z: float, /) -> "Vector":
"""
scale(x, y, z) -> Base.Vector
Scales in-place this vector by the given factor in each component.
x : float
@@ -143,8 +133,6 @@ class Vector(PyObjectBase):
def multiply(self, factor: float, /) -> "Vector":
"""
multiply(factor) -> Base.Vector
Multiplies in-place each component of this vector by a single factor.
Equivalent to scale(factor, factor, factor).
@@ -155,8 +143,6 @@ class Vector(PyObjectBase):
@constmethod
def dot(self, vector2: "Vector", /) -> float:
"""
dot(vector2) -> float
Returns the scalar product (dot product) between this vector and `vector2`.
vector2 : Base.Vector
@@ -166,8 +152,6 @@ class Vector(PyObjectBase):
@constmethod
def cross(self, vector2: "Vector", /) -> "Vector":
"""
cross(vector2) -> Base.Vector
Returns the vector product (cross product) between this vector and `vector2`.
vector2 : Base.Vector
@@ -177,8 +161,6 @@ class Vector(PyObjectBase):
@constmethod
def isOnLineSegment(self, vector1: "Vector", vector2: "Vector", /) -> bool:
"""
isOnLineSegment(vector1, vector2) -> bool
Checks if this vector is on the line segment generated by `vector1` and `vector2`.
vector1 : Base.Vector
@@ -189,8 +171,6 @@ class Vector(PyObjectBase):
@constmethod
def getAngle(self, vector2: "Vector", /) -> float:
"""
getAngle(vector2) -> float
Returns the angle in radians between this vector and `vector2`.
vector2 : Base.Vector
@@ -199,8 +179,6 @@ class Vector(PyObjectBase):
def normalize(self) -> "Vector":
"""
normalize() -> Base.Vector
Normalizes in-place this vector to the length of 1.0.
"""
...
@@ -208,8 +186,6 @@ class Vector(PyObjectBase):
@constmethod
def isEqual(self, vector2: "Vector", tol: float = 0, /) -> bool:
"""
isEqual(vector2, tol=0) -> bool
Checks if the distance between the points represented by this vector
and `vector2` is less or equal to the given tolerance.
@@ -221,8 +197,6 @@ class Vector(PyObjectBase):
@constmethod
def isParallel(self, vector2: "Vector", tol: float = 0, /) -> bool:
"""
isParallel(vector2, tol=0) -> bool
Checks if this vector and `vector2` are
parallel less or equal to the given tolerance.
@@ -234,8 +208,6 @@ class Vector(PyObjectBase):
@constmethod
def isNormal(self, vector2: "Vector", tol: float = 0, /) -> bool:
"""
isNormal(vector2, tol=0) -> bool
Checks if this vector and `vector2` are
normal less or equal to the given tolerance.
@@ -246,8 +218,6 @@ class Vector(PyObjectBase):
def projectToLine(self, point: "Vector", dir: "Vector", /) -> "Vector":
"""
projectToLine(point, dir) -> Base.Vector
Projects `point` on a line that goes through the origin with the direction `dir`.
The result is the vector from `point` to the projected point.
The operation is equivalent to dir_n.cross(dir_n.cross(point)), where `dir_n` is
@@ -262,8 +232,6 @@ class Vector(PyObjectBase):
def projectToPlane(self, base: "Vector", normal: "Vector", /) -> "Vector":
"""
projectToPlane(base, normal) -> Base.Vector
Projects in-place this vector on a plane defined by a base point
represented by `base` and a normal defined by `normal`.
@@ -275,8 +243,6 @@ class Vector(PyObjectBase):
@constmethod
def distanceToPoint(self, point2: "Vector", /) -> float:
"""
distanceToPoint(point2) -> float
Returns the distance to another point represented by `point2`.
.
point : Base.Vector
@@ -286,8 +252,6 @@ class Vector(PyObjectBase):
@constmethod
def distanceToLine(self, base: "Vector", dir: "Vector", /) -> float:
"""
distanceToLine(base, dir) -> float
Returns the distance between the point represented by this vector
and a line defined by a base point represented by `base` and a
direction `dir`.
@@ -300,8 +264,6 @@ class Vector(PyObjectBase):
@constmethod
def distanceToLineSegment(self, point1: "Vector", point2: "Vector", /) -> "Vector":
"""
distanceToLineSegment(point1, point2) -> Base.Vector
Returns the vector between the point represented by this vector and the point
on the line segment with the shortest distance. The line segment is defined by
`point1` and `point2`.
@@ -314,8 +276,6 @@ class Vector(PyObjectBase):
@constmethod
def distanceToPlane(self, base: "Vector", normal: "Vector", /) -> float:
"""
distanceToPlane(base, normal) -> float
Returns the distance between this vector and a plane defined by a
base point represented by `base` and a normal defined by `normal`.

View File

@@ -24,8 +24,6 @@ class AxisOrigin(BaseClass):
@constmethod
def getElementPicked(self, pickedPoint: Any, /) -> str:
"""
getElementPicked(pickedPoint) -> str
Returns the picked element name.
pickedPoint : coin.SoPickedPoint
@@ -35,8 +33,6 @@ class AxisOrigin(BaseClass):
@constmethod
def getDetailPath(self, subname: str, path: Any, /) -> Any:
"""
getDetailPath(subname, path) -> coin.SoDetail or None
Returns Coin detail of a subelement.
Note: Not fully implemented. Currently only returns None.

View File

@@ -18,8 +18,6 @@ class Command(PyObjectBase):
@staticmethod
def get(name: str, /) -> Optional["Command"]:
"""
get(name) -> Gui.Command or None
Get a given command by name or None if it doesn't exist.
name : str
@@ -30,8 +28,6 @@ class Command(PyObjectBase):
@staticmethod
def update() -> None:
"""
update() -> None
Update active status of all commands.
"""
...
@@ -39,8 +35,6 @@ class Command(PyObjectBase):
@staticmethod
def listAll() -> List[str]:
"""
listAll() -> list of str
Returns the name of all commands.
"""
...
@@ -48,8 +42,6 @@ class Command(PyObjectBase):
@staticmethod
def listByShortcut(string: str, useRegExp: bool = False, /) -> List[str]:
"""
listByShortcut(string, useRegExp=False) -> list of str
Returns a list of all commands, filtered by shortcut.
Shortcuts are converted to uppercase and spaces removed
prior to comparison.
@@ -63,8 +55,6 @@ class Command(PyObjectBase):
def run(self, item: int = 0, /) -> None:
"""
run(item=0) -> None
Runs the given command.
item : int
@@ -75,24 +65,18 @@ class Command(PyObjectBase):
@constmethod
def isActive(self) -> bool:
"""
isActive() -> bool
Returns True if the command is active, False otherwise.
"""
...
def getShortcut(self) -> str:
"""
getShortcut() -> str
Returns string representing shortcut key accelerator for command.
"""
...
def setShortcut(self, string: str, /) -> bool:
"""
setShortcut(string) -> bool
Sets shortcut for given command, returns True for success.
string : str
@@ -102,24 +86,18 @@ class Command(PyObjectBase):
def resetShortcut(self) -> bool:
"""
resetShortcut() -> bool
Resets shortcut for given command back to the default, returns True for success.
"""
...
def getInfo(self) -> Dict[Any, Any]:
"""
getInfo() -> dict
Return information about this command.
"""
...
def getAction(self) -> List[Any]:
"""
getAction() -> list of QAction
Return the associated QAction object.
"""
...
@@ -136,8 +114,6 @@ class Command(PyObjectBase):
shortcut: str,
) -> str:
"""
createCustomCommand(macroFile, menuText, toolTip, whatsThis, statusTip, pixmap, shortcut) -> str
Create a custom command for a macro. Returns name of the created command.
macroFile : str
@@ -160,8 +136,6 @@ class Command(PyObjectBase):
@staticmethod
def removeCustomCommand(name: str, /) -> bool:
"""
removeCustomCommand(name) -> bool
Remove the custom command if it exists.
Given the name of a custom command, this removes that command.
It is not an error to remove a non-existent command, the function
@@ -176,8 +150,6 @@ class Command(PyObjectBase):
@staticmethod
def findCustomCommand(name: str, /) -> Optional[str]:
"""
findCustomCommand(name) -> str or None
Given the name of a macro, return the name of the custom command for that macro
or None if there is no command matching that macro script name.

View File

@@ -18,8 +18,6 @@ class Document(Persistence):
def show(self, objName: str, /) -> None:
"""
show(objName) -> None
Show an object.
objName : str
@@ -29,8 +27,6 @@ class Document(Persistence):
def hide(self, objName: str, /) -> None:
"""
hide(objName) -> None
Hide an object.
objName : str
@@ -40,8 +36,6 @@ class Document(Persistence):
def setPos(self, objName: str, matrix: Matrix, /) -> None:
"""
setPos(objName, matrix) -> None
Set the position of an object.
objName : str
@@ -54,8 +48,6 @@ class Document(Persistence):
def setEdit(self, obj: Any, mod: int = 0, subName: Optional[str] = None, /) -> bool:
"""
setEdit(obj, mod=0, subName) -> bool
Set an object in edit mode.
obj : str, App.DocumentObject, Gui.ViewPrivider
@@ -69,24 +61,18 @@ class Document(Persistence):
def getInEdit(self) -> Optional[Any]:
"""
getInEdit() -> Gui.ViewProviderDocumentObject or None
Returns the current object in edit mode or None if there is no such object.
"""
...
def resetEdit(self) -> None:
"""
resetEdit() -> None
End the current editing.
"""
...
def addAnnotation(self, annoName: str, fileName: str, modName: str, /) -> None:
"""
addAnnotation(annoName, fileName, modName) -> None
Add an Inventor object from a file.
annoName : str
@@ -100,16 +86,12 @@ class Document(Persistence):
def update(self) -> None:
"""
update() -> None
Update the view representations of all objects.
"""
...
def getObject(self, objName: str, /) -> Optional[Any]:
"""
getObject(objName) -> object or None
Return the object with the given name. If no one exists, return None.
ObjName : str
@@ -119,24 +101,18 @@ class Document(Persistence):
def activeObject(self) -> Optional[Any]:
"""
activeObject() -> object or None
The active object of the document. Deprecated, use ActiveObject.
"""
...
def activeView(self) -> Optional[Any]:
"""
activeView() -> object or None
The active view of the document. Deprecated, use ActiveView.
"""
...
def createView(self, type: str, /) -> Optional[Any]:
"""
createView(type) -> object or None
Return a newly created view of a given type.
type : str
@@ -147,8 +123,6 @@ class Document(Persistence):
@constmethod
def mdiViewsOfType(self, type: str, /) -> List[Any]:
"""
mdiViewsOfType(type) -> list of MDIView
Return a list of mdi views of a given type.
type : str
@@ -158,24 +132,18 @@ class Document(Persistence):
def save(self) -> bool:
"""
save() -> bool
Attempts to save the document
"""
...
def saveAs(self) -> bool:
"""
saveAs() -> bool
Attempts to save the document under a new name
"""
...
def sendMsgToViews(self, msg: str, /) -> None:
"""
sendMsgToViews(msg) -> None
Send a message to all views of the document.
msg : str
@@ -184,8 +152,6 @@ class Document(Persistence):
def mergeProject(self, fileName: str, /) -> None:
"""
mergeProject(fileName) -> None
Merges this document with another project file.
fileName : str
@@ -195,8 +161,6 @@ class Document(Persistence):
def toggleTreeItem(self, obj: Any, mod: int = 0, subName: Optional[str] = None, /) -> None:
"""
toggleTreeItem(obj, mod=0, subName) -> None
Change TreeItem of a document object.
obj : App.DocumentObject
@@ -210,8 +174,6 @@ class Document(Persistence):
def scrollToTreeItem(self, obj: Any, /) -> None:
"""
scrollToTreeItem(obj) -> None
Scroll the tree view to the item of a view object.
obj : Gui.ViewProviderDocumentObject
@@ -220,8 +182,6 @@ class Document(Persistence):
def toggleInSceneGraph(self, obj: Any, /) -> None:
"""
toggleInSceneGraph(obj) -> None
Add or remove view object from scene graph of all views depending
on its canAddToSceneGraph().

View File

@@ -68,7 +68,7 @@ class LinkView(BaseClass):
def setType(self, type: int, sublink: bool = True, /) -> None:
"""
setType(type, sublink=True): set the link type.
set the link type.
type=0: override transformation and visibility
type=1: override visibility
@@ -95,19 +95,18 @@ class LinkView(BaseClass):
def setTransform(self, matrix: Any, /) -> None:
"""
setTransform(matrix): set transformation of the linked object
set transformation of the linked object
setTransform([matrix,...]): set transformation for the elements of the link
set transformation for the elements of the link
array/group
setTransform({index:matrix,...}): set transformation for elements of the link
set transformation for elements of the link
array/group by index
"""
...
def setChildren(self, children: List[Any], vis: List[Any] = [], type: int = 0, /) -> None:
"""
setChildren([obj...],vis=[],type=0)
Group a list of children objects. Note, this mode of operation is incompatible
with link array. Calling this function will deactivate link array. And calling
setSize() will reset all linked children.
@@ -135,11 +134,11 @@ class LinkView(BaseClass):
def setLink(self, obj: Any, subname: Any = None, /) -> None:
"""
setLink(object): Set the link
Set the link
setLink(object, subname): Set the link with a sub-object reference
Set the link with a sub-object reference
setLink(object, [subname,...]): Set the link with a list of sub object references
Set the link with a list of sub object references
object: The linked document object or its view object
@@ -152,7 +151,7 @@ class LinkView(BaseClass):
def getDetailPath(self, element: Any, /) -> Tuple[Any, Any]:
"""
getDetailPath(element): get the 3d path an detail of an element.
get the 3d path an detail of an element.
Return a tuple(path,detail) for the coin3D SoPath and SoDetail of the element
"""
@@ -160,13 +159,13 @@ class LinkView(BaseClass):
def getElementPicked(self, pickPoint: Any, /) -> Any:
"""
getElementPicked(pickPoint): get the element under a 3d pick point.
get the element under a 3d pick point.
"""
...
def getBoundBox(self, vobj: Any = None, /) -> Any:
"""
getBoundBox(vobj=None): get the bounding box.
get the bounding box.
"""
...

View File

@@ -20,7 +20,7 @@ class SelectionObject(BaseClass):
def remove(self) -> None:
"""
Remove this selection item from the selection.
remove() -> None
--
This object becomes invalid.
"""
@@ -29,7 +29,6 @@ class SelectionObject(BaseClass):
def isObjectTypeOf(self, type: Any, /) -> bool:
"""
Test for a certain father class.
isObjectTypeOf(type) -> Bool
"""
...

View File

@@ -33,8 +33,6 @@ class ViewProvider(ExtensionContainer):
locked: bool = False,
) -> "ViewProvider":
"""
addProperty(type, name, group, doc, attr=0, read_only=False, hidden=False, locked=False) -> ViewProvider
Add a generic property.
type : str
@@ -56,8 +54,6 @@ class ViewProvider(ExtensionContainer):
def removeProperty(self, name: str, /) -> bool:
"""
removeProperty(name) -> bool
Remove a generic property.
Only user-defined properties can be removed, not built-in ones.
@@ -68,40 +64,30 @@ class ViewProvider(ExtensionContainer):
def supportedProperties(self) -> list:
"""
supportedProperties() -> list
A list of supported property types.
"""
...
def show(self) -> None:
"""
show() -> None
Show the object.
"""
...
def hide(self) -> None:
"""
hide() -> None
Hide the object.
"""
...
def isVisible(self) -> bool:
"""
isVisible() -> bool
Check if the object is visible.
"""
...
def canDragObject(self, obj: Any = None, /) -> bool:
"""
canDragObject(obj=None) -> bool
Check whether the child object can be removed by dragging.
If 'obj' is not given, check without filter by any particular object.
@@ -112,8 +98,6 @@ class ViewProvider(ExtensionContainer):
def dragObject(self, obj: Any, /) -> None:
"""
dragObject(obj) -> None
Remove a child object by dropping.
obj : App.DocumentObject
@@ -125,8 +109,6 @@ class ViewProvider(ExtensionContainer):
self, obj: Any = None, *, owner: Any = None, subname: str, elem: Optional[List[str]] = None
) -> bool:
"""
canDropObject(obj=None, owner=None, subname, elem=None) -> bool
Check whether the child object can be added by dropping.
If 'obj' is not given, check without filter by any particular object.
@@ -146,8 +128,6 @@ class ViewProvider(ExtensionContainer):
self, obj: Any, *, owner: Any = None, subname: str, elem: Optional[List[str]] = None
) -> str:
"""
dropObject(obj, owner=None, subname, elem=None) -> str
Add a child object by dropping.
obj : App.DocumentObject
@@ -164,8 +144,6 @@ class ViewProvider(ExtensionContainer):
def canDragAndDropObject(self, obj: Any, /) -> bool:
"""
canDragAndDropObject(obj) -> bool
Check whether the child object can be removed from
other parent and added here by drag and drop.
@@ -176,8 +154,6 @@ class ViewProvider(ExtensionContainer):
def replaceObject(self, oldObj: Any, newObj: Any, /) -> int:
"""
replaceObject(oldObj, newObj) -> int
Replace a child object.
Returns 1 if succeeded, 0 if not found, -1 if not supported.
@@ -190,16 +166,12 @@ class ViewProvider(ExtensionContainer):
def doubleClicked(self) -> bool:
"""
doubleClicked() -> bool
Trigger double clicking the corresponding tree item of this view object.
"""
...
def addDisplayMode(self, obj: Any, mode: str, /) -> None:
"""
addDisplayMode(obj, mode) -> None
Add a new display mode to the view provider.
obj : coin.SoNode
@@ -211,24 +183,18 @@ class ViewProvider(ExtensionContainer):
def listDisplayModes(self) -> list:
"""
listDisplayModes() -> list
Show a list of all display modes.
"""
...
def toString(self) -> str:
"""
toString() -> str
Return a string representation of the Inventor node.
"""
...
def setTransformation(self, trans: Any, /) -> None:
"""
setTransformation(trans) -> None
Set a transformation on the Inventor node.
trans : Base.Placement, Base.Matrix
@@ -238,8 +204,6 @@ class ViewProvider(ExtensionContainer):
@constmethod
def claimChildren(self) -> list:
"""
claimChildren() -> list
Returns list of objects that are to be grouped in tree under this object.
"""
...
@@ -247,16 +211,12 @@ class ViewProvider(ExtensionContainer):
@constmethod
def claimChildrenRecursive(self) -> list:
"""
claimChildrenRecursive() -> list
Returns list of objects that are to be grouped in tree under this object recursively.
"""
...
def partialRender(self, sub: Any = None, clear: bool = False, /) -> int:
"""
partialRender(sub=None, clear=False) -> int
Render only part of the object.
sub: None, str, sequence of str
@@ -268,8 +228,6 @@ class ViewProvider(ExtensionContainer):
def getElementColors(self, elementName: Optional[str] = None, /) -> dict:
"""
getElementColors(elementName) -> dict
Get a dictionary of the form {elementName : (r,g,b,a)}.
If no element name is given a dictionary with all the elements is returned.
@@ -280,8 +238,6 @@ class ViewProvider(ExtensionContainer):
def setElementColors(self, colors: dict, /) -> None:
"""
setElementColors(colors) -> None
Set element colors.
colors: dict
@@ -292,8 +248,6 @@ class ViewProvider(ExtensionContainer):
@constmethod
def getElementPicked(self, pickPoint: Any, /) -> str:
"""
getElementPicked(pickPoint) -> str
Return the picked subelement.
pickPoint : coin.SoPickedPoint
@@ -303,8 +257,6 @@ class ViewProvider(ExtensionContainer):
@constmethod
def getDetailPath(self, subelement: str, path: Any, append: bool = True, /) -> Any:
"""
getDetailPath(subelement, path, append=True) -> coin.SoDetail or None
Return Coin detail and path of an subelement.
subname: str
@@ -320,8 +272,6 @@ class ViewProvider(ExtensionContainer):
@constmethod
def signalChangeIcon(self) -> None:
"""
signalChangeIcon() -> None
Trigger icon changed signal.
"""
...
@@ -330,8 +280,6 @@ class ViewProvider(ExtensionContainer):
self, subName: Optional[str] = None, transform: bool = True, view: Any = None, /
) -> BoundBox:
"""
getBoundingBox(subName, transform=True, view) -> Base.BoundBox
Obtain the bounding box of this view object.
subName : str

View File

@@ -18,8 +18,6 @@ class ViewProviderGeometryObject(ViewProviderDocumentObject):
@no_args
def getUserDefinedMaterial() -> object:
"""
getUserDefinedMaterial() -> object
Get a material object with the user-defined colors.
"""
...

View File

@@ -7,6 +7,7 @@ from typing import Any, Final
from Base.Metadata import constmethod, export
from App.Part import Part
from App.DocumentObject import DocumentObject
@export(Include="Mod/Assembly/App/AssemblyObject.h", Namespace="Assembly")
@@ -19,10 +20,9 @@ class AssemblyObject(Part):
"""
@constmethod
def solve(self) -> Any:
"""Solve the assembly and update part placements.
solve(enableRedo=False) -> int
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
@@ -38,14 +38,14 @@ class AssemblyObject(Part):
-3 if conflicting constraints,
-5 if malformed constraints
-1 if solver error,
-2 if redundant constraints."""
-2 if redundant constraints.
"""
...
@constmethod
def generateSimulation(self) -> Any:
"""Generate the simulation.
solve(simulationObject) -> int
def generateSimulation(self, simulationObject: DocumentObject, /) -> int:
"""
Generate the simulation.
Args:
simulationObject: The simulation Object.
@@ -58,111 +58,101 @@ class AssemblyObject(Part):
-3 if conflicting constraints,
-5 if malformed constraints
-1 if solver error,
-2 if redundant constraints."""
-2 if redundant constraints.
"""
...
@constmethod
def updateForFrame(self) -> Any:
"""Update entire assembly to frame number specified.
def updateForFrame(self, index: int, /) -> None:
"""
Update entire assembly to frame number specified.
updateForFrame(index)
Args:
index: index of frame.
Args: index of frame.
Returns: None"""
Returns: None
"""
...
@constmethod
def numberOfFrames(self) -> Any:
"""numberOfFrames()
Args: None
Returns: Number of frames"""
def numberOfFrames(self) -> int:
"""Return Number of frames"""
...
@constmethod
def undoSolve(self) -> Any:
"""Undo the last solve of the assembly and return part placements to their initial position.
undoSolve()
Returns: None"""
def undoSolve(self) -> None:
"""
Undo the last solve of the assembly and return part placements to their initial position.
"""
...
@constmethod
def ensureIdentityPlacements(self) -> Any:
"""Makes sure that LinkGroups or sub-assemblies have identity placements.
ensureIdentityPlacements()
Returns: None"""
def ensureIdentityPlacements(self) -> None:
"""
Makes sure that LinkGroups or sub-assemblies have identity placements.
"""
...
@constmethod
def clearUndo(self) -> Any:
"""Clear the registered undo positions.
clearUndo()
Returns: None"""
def clearUndo(self) -> None:
"""
Clear the registered undo positions.
"""
...
@constmethod
def isPartConnected(self) -> Any:
"""Check if a part is connected to the ground through joints.
isPartConnected(obj) -> bool
Args: document object to check.
Returns: True if part is connected to ground"""
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.
"""
...
@constmethod
def isJointConnectingPartToGround(self) -> Any:
"""Check if a joint is connecting a part to the ground.
isJointConnectingPartToGround(joint, propName) -> bool
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.
- propName: string 'Part1' or 'Part2' of the joint.
- prop_name: string 'Part1' or 'Part2' of the joint.
Returns: True if part is connected to ground"""
Returns: True if part is connected to ground.
"""
...
@constmethod
def isPartGrounded(self) -> Any:
"""Check if a part has a grounded joint.
isPartGrounded(obj) -> bool
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"""
Returns: True if part has grounded joint.
"""
...
@constmethod
def exportAsASMT(self) -> Any:
"""Export the assembly in a text format called ASMT.
exportAsASMT(fileName:str)
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."""
- fileName: The name of the file where the ASMT will be exported.
"""
...
@constmethod
def getDownstreamParts(self, start_part: "App.DocumentObject", joint_to_ignore: "App.DocumentObject",
/) -> list["App.DocumentObject"]:
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.
getDownstreamParts(start_part, joint_to_ignore) -> list
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.

View File

@@ -2,12 +2,13 @@
from __future__ import annotations
from typing import Any, List, Tuple
from typing import Any, List, Tuple, TypeAlias
from Base.Metadata import export
from App.DocumentObject import DocumentObject
from Gui.ViewProvider import ViewProvider
SoTransformDragger: TypeAlias = Any
@export(Include="Mod/Assembly/Gui/ViewProviderAssembly.h", Namespace="AssemblyGui")
class ViewProviderAssembly(ViewProvider):
@@ -21,17 +22,11 @@ class ViewProviderAssembly(ViewProvider):
def isInEditMode(self) -> Any:
"""
Return true if the assembly object is currently in edit mode.
isInEditMode() -> bool"""
"""
...
def getDragger(self) -> Any:
"""
Return the assembly dragger coin object.
getDragger() -> SoTransformDragger
Returns: dragger coin object of the assembly"""
def getDragger(self) -> SoTransformDragger:
"""Return the assembly dragger coin object."""
...
def isolateComponents(

View File

@@ -29,24 +29,25 @@ class Area(BaseClass):
""""""
...
def setPlane(self) -> Any:
"""setPlane(shape): Set the working plane.
def setPlane(self) -> None:
"""
Set the working plane.
The supplied shape does not need to be planar. Area will try to find planar
sub-shape (face, wire or edge). If more than one planar sub-shape is found, it
will prefer the top plane parallel to XY0 plane. If no working plane are set,
Area will try to find a working plane from the added children shape using the
same algorithm"""
same algorithm
"""
...
def getShape(self, **kwargs) -> Any:
"""getShape(index=-1,rebuild=False): Return the resulting shape
"""
Return the resulting shape
* index (-1): the index of the section. -1 means all sections. No effect on planar shape.
* rebuild: clean the internal cache and rebuild"""
* rebuild: clean the internal cache and rebuild
"""
...
def makeOffset(self, **kwargs) -> Any:

View File

@@ -22,15 +22,15 @@ class Command(Persistence):
@constmethod
def toGCode(self) -> str:
"""toGCode(): returns a GCode representation of the command"""
"""returns a GCode representation of the command"""
...
def setFromGCode(self, gcode: str, /) -> None:
"""setFromGCode(): sets the path from the contents of the given GCode string"""
"""sets the path from the contents of the given GCode string"""
...
def transform(self, placement: Placement, /) -> Command:
"""transform(Placement): returns a copy of this command transformed by the given placement"""
"""returns a copy of this command transformed by the given placement"""
...
Name: str

View File

@@ -24,7 +24,10 @@ class FeatureArea(DocumentObject):
...
def setParams(self, **kwargs) -> Any:
"""setParams(key=value...): Convenient function to configure this feature.
"""
Convenient function to configure this feature.
Call with keywords: setParams(key=value, ...)
Same usage as Path.Area.setParams(). This function stores the parameters in the properties.
"""

View File

@@ -1,10 +1,12 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
from typing import Any, Final
from __future__ import annotations
from typing import Any, Final, overload, Union
from Base.Metadata import constmethod, export
from Base.Persistence import Persistence
from .Command import Command
@export(
Include="Mod/CAM/App/Path.h",
@@ -23,36 +25,44 @@ class Path(Persistence):
License: LGPL-2.1-or-later
"""
def addCommands(self) -> Any:
@overload
def addCommands(self, command: Command, /) -> Path: ...
@overload
def addCommands(self, commands: list[Command], /) -> Path: ...
def addCommands(self, arg: Union[Command, list[Command]], /) -> Path:
"""adds a command or a list of commands at the end of the path"""
...
def insertCommand(self) -> Any:
"""insertCommand(Command,[int]):
adds a command at the given position or at the end of the path"""
def insertCommand(self, command: Command, pos: int = -1, /) -> Path:
"""
adds a command at the given position or at the end of the path
"""
...
def deleteCommand(self) -> Any:
"""deleteCommand([int]):
deletes the command found at the given position or from the end of the path"""
def deleteCommand(self, pos: int = -1, /) -> Path:
"""
deletes the command found at the given position or from the end of the path
"""
...
def setFromGCode(self) -> Any:
def setFromGCode(self, gcode: str, /) -> None:
"""sets the contents of the path from a gcode string"""
...
@constmethod
def toGCode(self) -> Any:
def toGCode(self) -> str:
"""returns a gcode string representing the path"""
...
@constmethod
def copy(self) -> Any:
def copy(self) -> Path:
"""returns a copy of this path"""
...
@constmethod
def getCycleTime(self) -> Any:
def getCycleTime(self, h_feed: float, v_feed: float, h_rapid: float, v_rapid: float, /) -> float:
"""return the cycle time estimation for this path in s"""
...

View File

@@ -5,6 +5,7 @@ from typing import Any, Final
from Base.BaseClass import BaseClass
from Base.Metadata import constmethod, export
from Base.Vector import Vector
@export(
Include="Mod/CAM/App/Voronoi.h",
@@ -35,12 +36,12 @@ class Voronoi(BaseClass):
"""Return number of vertices"""
...
def addPoint(self) -> Any:
"""addPoint(vector|vector2d) add given point to input collection"""
def addPoint(self, point: Vector, /) -> None:
"""add given point to input collection"""
...
def addSegment(self) -> Any:
"""addSegment(vector|vector2d, vector|vector2d) add given segment to input collection"""
def addSegment(self, point1: Vector, point2: Vector, /) -> Any:
"""add given segment to input collection"""
...
def construct(self) -> Any:

View File

@@ -7,6 +7,10 @@ from typing import Any, Final
from Base.BaseClass import BaseClass
from Base.Metadata import export
from Part.App.TopoShape import TopoShape
from Mesh.App.Mesh import Mesh
from Base.Placement import Placement
from CAM.App.Command import Command
@export(
FatherInclude="Base/BaseClassPy.h",
@@ -27,30 +31,28 @@ class PathSim(BaseClass):
License: LGPL-2.1-or-later
"""
def BeginSimulation(self, **kwargs) -> Any:
"""BeginSimulation(stock, resolution):
Start a simulation process on a box shape stock with given resolution"""
...
def SetToolShape(self) -> Any:
"""SetToolShape(shape):
Set the shape of the tool to be used for simulation"""
...
def GetResultMesh(self) -> Any:
def BeginSimulation(self, stock: TopoShape, resolution: float) -> None:
"""
Start a simulation process on a box shape stock with given resolution
"""
GetResultMesh():
Return the current mesh result of the simulation."""
...
def ApplyCommand(self, **kwargs) -> Any:
def SetToolShape(self, tool: TopoShape, resolution: float, /) -> None:
"""
ApplyCommand(placement, command):
Set the shape of the tool to be used for simulation
"""
...
Apply a single path command on the stock starting from placement."""
def GetResultMesh(self) -> tuple[Mesh, Mesh]:
"""
Return the current mesh result of the simulation.
"""
...
def ApplyCommand(self, placement: Placement, command: Command) -> Placement:
"""
Apply a single path command on the stock starting from placement.
"""
...
Tool: Final[Any]

View File

@@ -5,8 +5,10 @@ from __future__ import annotations
from typing import Any
from Base.BaseClass import BaseClass
from Base.Metadata import export
from Metadata import no_args
from Base.Metadata import export, no_args
from Part.App.TopoShape import TopoShape
from CAM.App.Command import Command
@export(
@@ -28,38 +30,33 @@ class CAMSim(BaseClass):
License: LGPL-2.1-or-later
"""
def BeginSimulation(self, **kwargs) -> Any:
def BeginSimulation(self, stock: TopoShape, resolution: float) -> None:
"""
Start a simulation process on a box shape stock with given resolution
"""
BeginSimulation(stock, resolution):
Start a simulation process on a box shape stock with given resolution"""
...
@no_args
def ResetSimulation(self) -> Any:
def ResetSimulation(self) -> None:
"""
Clear the simulation and all gcode commands
"""
ResetSimulation():
Clear the simulation and all gcode commands"""
...
def AddTool(self, **kwargs) -> Any:
def AddTool(self, shape: TopoShape, toolnumber: int, diameter: float, resolution: float) -> Any:
"""
Set the shape of the tool to be used for simulation
"""
AddTool(shape, toolnumber, diameter, resolution):
Set the shape of the tool to be used for simulation"""
...
def SetBaseShape(self, **kwargs) -> Any:
def SetBaseShape(self, shape: TopoShape, resolution: float) -> None:
"""
Set the shape of the base object of the job
"""
SetBaseShape(shape, resolution):
Set the shape of the base object of the job"""
...
def AddCommand(self) -> Any:
def AddCommand(self, command: Command, /) -> Any:
"""
Add a path command to the simulation.
"""
AddCommand(command):
Add a path command to the simulation."""
...