Interface IShapes
Gives access to shape entities.
Namespace: TopSolid.Kernel.Automating
Assembly: cs.temp.dll.dll
Syntax
[AvailableSinceVersion(7, 6, 0, 0)]
public interface IShapes
Remarks
This interface is available since v7.6.
Methods
CreateColoringOperation(List<ElementItemId>, Color)
Changes the color of the faces.
Declaration
[AvailableSinceVersion(7, 13, 0, 0)]
ElementId CreateColoringOperation(List<ElementItemId> inFaceIds, Color inColor)
Parameters
Type | Name | Description |
---|---|---|
List<ElementItemId> | inFaceIds | Identifier of the faces to modify color. |
Color | inColor | Color of the face, or Empty if the face has no color. |
Returns
Type | Description |
---|---|
ElementId | Identifier of the created coloring operation. |
Remarks
This method is available since v7.13.
CreateExtrudedShape(DocumentId, SmartSection3D, SmartDirection3D, SmartReal, SmartReal, Boolean, Boolean)
Creates an extruded shape operation in a document.
Declaration
[AvailableSinceVersion(7, 7, 201, 80)]
ElementId CreateExtrudedShape(DocumentId inDocumentId, SmartSection3D inSection, SmartDirection3D inDirection, SmartReal inLength, SmartReal inDraftAngle, bool inIsCentered, bool inIsSurface)
Parameters
Type | Name | Description |
---|---|---|
DocumentId | inDocumentId | Identifier of the document to modify. |
SmartSection3D | inSection | Section to extrude. |
SmartDirection3D | inDirection | Extrusion direction. |
SmartReal | inLength | Extrusion length. |
SmartReal | inDraftAngle | Draft angle, or null if none. |
System.Boolean | inIsCentered | Extrusion is centered. |
System.Boolean | inIsSurface | Makes a surface instead of a solid. |
Returns
Type | Description |
---|---|
ElementId | Identifier of the created shape entity. |
Remarks
StartModification(String, Boolean) and EnsureIsDirty(ref DocumentId) must be called before calling this method.
This method is available since v7.7.201.80.
CreateLoftedShape(DocumentId, Boolean, SmartPoint3D, List<SmartProfile3D>, List<SmartPoint3D>, SmartPoint3D, CurveParametricApproximationType, List<SmartProfile3D>, CurveParametricApproximationType, SmartReal, FacesDivisionType, Boolean, Boolean, Boolean)
Creates a lofted shape operation in a document.
Declaration
[AvailableSinceVersion(7, 10, 301, 180)]
ElementId CreateLoftedShape(DocumentId inDocumentId, bool inIsPeriodic, SmartPoint3D inStartPoint, List<SmartProfile3D> inLoftedProfiles, List<SmartPoint3D> inLoftedProfilesOrigins, SmartPoint3D inEndPoint, CurveParametricApproximationType inLoftedProfilesSynchronization, List<SmartProfile3D> inGuideProfiles, CurveParametricApproximationType inGuideProfilesSynchronization, SmartReal inIntersectionTolerance, FacesDivisionType inFacesDivision, bool inMatchesSegmentToSegment, bool inSimplifiesGeometry, bool inIsSurface)
Parameters
Type | Name | Description |
---|---|---|
DocumentId | inDocumentId | Identifier of the document to modify. |
System.Boolean | inIsPeriodic | Makes a periodic lofted shape (i.e. without start and end). |
SmartPoint3D | inStartPoint | Start point, or null if not degenerated to a point at start. |
List<SmartProfile3D> | inLoftedProfiles | Lofted profiles. |
List<SmartPoint3D> | inLoftedProfilesOrigins | Origins on closed lofted profiles, or null if not closed or use profile start point. |
SmartPoint3D | inEndPoint | End point, or null if not degenerated to a point at end. |
CurveParametricApproximationType | inLoftedProfilesSynchronization | Lofted profiles synchronization. |
List<SmartProfile3D> | inGuideProfiles | Guide profiles, or null if none. |
CurveParametricApproximationType | inGuideProfilesSynchronization | Guide profiles synchronization. |
SmartReal | inIntersectionTolerance | Tolerance used to search intersections between lofted and guide profiles. |
FacesDivisionType | inFacesDivision | Faces division type. |
System.Boolean | inMatchesSegmentToSegment | Matches segment to segment instead of profile to profile. |
System.Boolean | inSimplifiesGeometry | Simplifies the geometry when possible. |
System.Boolean | inIsSurface | Makes a surface instead of a solid. |
Returns
Type | Description |
---|---|
ElementId | Identifier of the created shape entity. |
Remarks
StartModification(String, Boolean) and EnsureIsDirty(ref DocumentId) must be called before calling this method.
This method is available since v7.10.301.180.
CreateRevolvedShape(DocumentId, SmartSection3D, SmartAxis3D, SmartReal, Boolean, Boolean)
Creates a revolved shape operation in a document.
Declaration
[AvailableSinceVersion(7, 7, 201, 80)]
ElementId CreateRevolvedShape(DocumentId inDocumentId, SmartSection3D inSection, SmartAxis3D inAxis, SmartReal inAngle, bool inIsCentered, bool inIsSurface)
Parameters
Type | Name | Description |
---|---|---|
DocumentId | inDocumentId | Identifier of the document to modify. |
SmartSection3D | inSection | Section to revolve. |
SmartAxis3D | inAxis | Revolution axis. |
SmartReal | inAngle | Revolution angle, or null if 360°. |
System.Boolean | inIsCentered | Revolution is centered. |
System.Boolean | inIsSurface | Makes a surface instead of a solid. |
Returns
Type | Description |
---|---|
ElementId | Identifier of the created shape entity. |
Remarks
StartModification(String, Boolean) and EnsureIsDirty(ref DocumentId) must be called before calling this method.
This method is available since v7.7.201.80.
FindNearestPointToPoint(ElementId, Point3D, out ElementItemId, out Double, out Double, out Boolean)
Finds the nearest point on a shape to a specified reference point.
Declaration
[AvailableSinceVersion(7, 10, 300, 60)]
Point3D FindNearestPointToPoint(ElementId inElementId, Point3D inPoint, out ElementItemId outItemId, out double outU, out double outV, out bool outIsInside)
Parameters
Type | Name | Description |
---|---|---|
ElementId | inElementId | Identifier of the shape entity to analyze. |
Point3D | inPoint | Reference point. |
ElementItemId | outItemId | Identifier of the item of the shape where the nearest point is found
(face, edge or vertex as defined by |
System.Double | outU | Edge parameter of face U-parameter. |
System.Double | outV | Face V-parameter. |
System.Boolean | outIsInside | Whether the reference point is inside the shape. |
Returns
Type | Description |
---|---|
Point3D | Nearest point on shape to the specified reference point. |
Remarks
This method is available since v7.10.300.60.
GetBoundaryEdges(ElementId)
Gets the boundary edges of a shape.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
List<List<ElementItemId>> GetBoundaryEdges(ElementId inElementId)
Parameters
Type | Name | Description |
---|---|---|
ElementId | inElementId | Identifier of the shape entity to analyze. |
Returns
Type | Description |
---|---|
List<List<ElementItemId>> | Identifiers of the boundary edges of the shape, grouped by connected sets. |
Remarks
This method is available since v7.7.
GetEdgeCircleCurve(ElementItemId, out Plane3D, out Double)
Gets the circle curve attached to an edge.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
void GetEdgeCircleCurve(ElementItemId inEdgeId, out Plane3D outPlane, out double outRadius)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inEdgeId | Identifier of the edge to analyze. |
Plane3D | outPlane | Circle plane. |
System.Double | outRadius | Circle radius. |
Remarks
This method is available since v7.7.
GetEdgeCount(ElementId)
Gets the number of edges of a shape.
Declaration
[AvailableSinceVersion(7, 6, 0, 0)]
int GetEdgeCount(ElementId inElementId)
Parameters
Type | Name | Description |
---|---|---|
ElementId | inElementId | Identifier of the shape entity to analyze. |
Returns
Type | Description |
---|---|
System.Int32 | Number of edges of the shape. |
Remarks
This method is available since v7.6.
GetEdgeCurveParameter(ElementItemId, Point3D, out Double)
Gets the parametric value of a specified point on the curve attached to an edge.
Declaration
[AvailableSinceVersion(7, 10, 300, 60)]
Point3D GetEdgeCurveParameter(ElementItemId inEdgeId, Point3D inPoint, out double outT)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inEdgeId | Identifier of the edge to analyze. |
Point3D | inPoint | Point near edge curve. |
System.Double | outT | Parameter of nearest point on edge curve. |
Returns
Type | Description |
---|---|
Point3D | Nearest point to specified point on edge curve. |
Remarks
This method is available since v7.10.300.60.
GetEdgeCurveRange(ElementItemId, out Boolean, out Double, out Double)
Gets the parametric range of the curve attached to an edge.
Declaration
[AvailableSinceVersion(7, 10, 300, 60)]
void GetEdgeCurveRange(ElementItemId inEdgeId, out bool outIsPeriodic, out double outTMin, out double outTMax)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inEdgeId | Identifier of the edge to analyze. |
System.Boolean | outIsPeriodic | Whether the curve parameterization in periodic. |
System.Double | outTMin | Minimum parametric value, or main period start if periodic. |
System.Double | outTMax | Maximum parametric value, or main period end if periodic. |
Remarks
This method is available since v7.10.300.60.
GetEdgeCurveType(ElementItemId)
Gets the type of the curve attached to an edge.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
CurveType GetEdgeCurveType(ElementItemId inEdgeId)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inEdgeId | Identifier of the edge to analyze. |
Returns
Type | Description |
---|---|
CurveType | Type of the curve attached to the edge. |
Remarks
This method is available since v7.7.
GetEdgeLength(ElementItemId)
Gets the length of an edge.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
double GetEdgeLength(ElementItemId inEdgeId)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inEdgeId | Identifier of the edge to analyze. |
Returns
Type | Description |
---|---|
System.Double | Length of the edge. |
Remarks
This method is available since v7.7.
GetEdgeLineCurve(ElementItemId, out Axis3D)
Gets the line curve attached to an edge.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
void GetEdgeLineCurve(ElementItemId inEdgeId, out Axis3D outAxis)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inEdgeId | Identifier of the edge to analyze. |
Axis3D | outAxis | Line axis. |
Remarks
This method is available since v7.7.
GetEdgeNormal(ElementItemId, Double)
Gets the normal to an edge at a specified parametric value.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
Direction3D GetEdgeNormal(ElementItemId inEdgeId, double inT)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inEdgeId | Identifier of the edge to analyze. |
System.Double | inT | Parameter within edge parametric range. |
Returns
Type | Description |
---|---|
Direction3D | Normal to the edge at the specified parametric value. |
Remarks
The edge normal is the average of the edge faces normal.
This method is available since v7.7.
GetEdgePoint(ElementItemId, Double)
Gets a point on the curve attached to an edge at a specified parametric value.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
Point3D GetEdgePoint(ElementItemId inEdgeId, double inT)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inEdgeId | Identifier of the edge to analyze. |
System.Double | inT | Parameter within edge curve parametric range. |
Returns
Type | Description |
---|---|
Point3D | Point on the edge curve at the specified parametric value. |
Remarks
This method is available since v7.7.
GetEdgeRange(ElementItemId, out Double, out Double)
Gets the parametric range of an edge.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
void GetEdgeRange(ElementItemId inEdgeId, out double outTMin, out double outTMax)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inEdgeId | Identifier of the edge to analyze. |
System.Double | outTMin | Minimum parametric value. |
System.Double | outTMax | Maximum parametric value. |
Remarks
This method is available since v7.7.
GetEdges(ElementId)
Gets the edges of a shape.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
List<ElementItemId> GetEdges(ElementId inElementId)
Parameters
Type | Name | Description |
---|---|---|
ElementId | inElementId | Identifier of the shape entity to analyze. |
Returns
Type | Description |
---|---|
List<ElementItemId> | Identifiers of the edges of the shape. |
Remarks
This method is available since v7.7.
GetEdgeTangent(ElementItemId, Double)
Gets the tangent to the curve attached to an edge at a specified parametric value.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
Direction3D GetEdgeTangent(ElementItemId inEdgeId, double inT)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inEdgeId | Identifier of the edge to analyze. |
System.Double | inT | Parameter within edge curve parametric range. |
Returns
Type | Description |
---|---|
Direction3D | Tangent to the edge curve at the specified parametric value. |
Remarks
If the edge is reversed, the orientation of the tangent is the opposite to the parametric first derivative.
This method is available since v7.7.
GetEdgeVertices(ElementItemId, out ElementItemId, out ElementItemId)
Gets the start and end vertices of an edge.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
void GetEdgeVertices(ElementItemId inEdgeId, out ElementItemId outStartVertexId, out ElementItemId outEndVertexId)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inEdgeId | Identifier of the edge to analyze. |
ElementItemId | outStartVertexId | Identifier of the start vertex, or Empty if none. |
ElementItemId | outEndVertexId | Identifier of the end vertex, or Empty if none. |
Remarks
This method is available since v7.7.
GetFaceArea(ElementItemId)
Gets the area of a face.
Declaration
[AvailableSinceVersion(7, 13, 0, 0)]
double GetFaceArea(ElementItemId inFaceId)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inFaceId | Identifier of the face to analyze. |
Returns
Type | Description |
---|---|
System.Double | Area of the face in SI units. |
Remarks
If the face is reversed, the orientation of the normal is the opposite to the cross product of the U and V parametric first derivatives.
This method is available since v7.13.
GetFaceColor(ElementItemId)
Gets the color of a face.
Declaration
[AvailableSinceVersion(7, 12, 0, 0)]
Color GetFaceColor(ElementItemId inFaceId)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inFaceId | Identifier of the face to analyze. |
Returns
Type | Description |
---|---|
Color | Color of the face, or Empty if the face has no color. |
Remarks
This method is available since v7.12.
GetFaceConnectedFaces(ElementItemId)
Gets the face connected faces.
Declaration
[AvailableSinceVersion(7, 13, 0, 0)]
List<ElementItemId> GetFaceConnectedFaces(ElementItemId inFaceId)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inFaceId | Identifier of the face to analyze. |
Returns
Type | Description |
---|---|
List<ElementItemId> | Identifiers of the connected faces of the face. |
Remarks
This method is available since v7.13.
GetFaceCount(ElementId)
Gets the number of faces of a shape.
Declaration
[AvailableSinceVersion(7, 6, 0, 0)]
int GetFaceCount(ElementId inElementId)
Parameters
Type | Name | Description |
---|---|---|
ElementId | inElementId | Identifier of the shape entity to analyze. |
Returns
Type | Description |
---|---|
System.Int32 | Number of faces of the shape. |
Remarks
This method is available since v7.6.
GetFaceCylinderDirection(ElementItemId)
Gets the direction of a cylinder face.
Declaration
[AvailableSinceVersion(7, 14, 0, 0)]
Direction3D GetFaceCylinderDirection(ElementItemId inFaceId)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inFaceId | Identifier of the face to analyze. |
Returns
Type | Description |
---|---|
Direction3D | Direction of the specified cylinder face. |
Remarks
This method is available since v7.14.
GetFaceCylinderLength(ElementItemId)
Gets the length of a cylinder face.
Declaration
[AvailableSinceVersion(7, 14, 0, 0)]
double GetFaceCylinderLength(ElementItemId inFaceId)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inFaceId | Identifier of the face to analyze. |
Returns
Type | Description |
---|---|
System.Double | Length of the specified cylinder face. |
Remarks
This method is available since v7.14.
GetFaceCylinderRadius(ElementItemId)
Gets the radius of a cylinder face.
Declaration
[AvailableSinceVersion(7, 14, 0, 0)]
double GetFaceCylinderRadius(ElementItemId inFaceId)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inFaceId | Identifier of the face to analyze. |
Returns
Type | Description |
---|---|
System.Double | Radius of the specified cylinder face. |
Remarks
This method is available since v7.14.
GetFaceCylinderSurface(ElementItemId, out Frame3D, out Double)
Gets the cylinder surface attached to a face.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
void GetFaceCylinderSurface(ElementItemId inFaceId, out Frame3D outFrame, out double outRadius)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inFaceId | Identifier of the face to analyze. |
Frame3D | outFrame | Cylinder frame. |
System.Double | outRadius | Cylinder radius. |
Remarks
This method is available since v7.7.
GetFaceEdges(ElementItemId)
Gets the edges of a face.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
List<ElementItemId> GetFaceEdges(ElementItemId inFaceId)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inFaceId | Identifier of the face to analyze. |
Returns
Type | Description |
---|---|
List<ElementItemId> | Identifiers of the edges of the face. |
Remarks
This method is available since v7.7.
GetFaceEnclosingCoordinates(ElementItemId, out Double, out Double, out Double, out Double, out Double, out Double)
Gets the face enclosing coordinates in the absolute frame coordinates.
Declaration
[AvailableSinceVersion(7, 13, 0, 0)]
void GetFaceEnclosingCoordinates(ElementItemId inFaceId, out double outXmin, out double outXmax, out double outYmin, out double outYmax, out double outZmin, out double outZmax)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inFaceId | Identifier of the face to analyze. |
System.Double | outXmin | Xmin. |
System.Double | outXmax | Xmax. |
System.Double | outYmin | Ymin. |
System.Double | outYmax | Ymax. |
System.Double | outZmin | Zmin. |
System.Double | outZmax | Zmax. |
Remarks
This method is available since v7.13.
GetFaceEnclosingCoordinatesWithGivenFrame(ElementItemId, Frame3D, out Double, out Double, out Double, out Double, out Double, out Double)
Gets the face enclosing coordinates in the given frame coordinates.
Declaration
[AvailableSinceVersion(7, 14, 0, 0)]
void GetFaceEnclosingCoordinatesWithGivenFrame(ElementItemId inFaceId, Frame3D inFrame, out double outXmin, out double outXmax, out double outYmin, out double outYmax, out double outZmin, out double outZmax)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inFaceId | Identifier of the face to analyze. |
Frame3D | inFrame | Frame for enclosing coordinates. |
System.Double | outXmin | Xmin. |
System.Double | outXmax | Xmax. |
System.Double | outYmin | Ymin. |
System.Double | outYmax | Ymax. |
System.Double | outZmin | Zmin. |
System.Double | outZmax | Zmax. |
Remarks
This method is available since v7.14.
GetFaceLoops(ElementItemId)
Gets the loops of a face.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
List<int> GetFaceLoops(ElementItemId inFaceId)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inFaceId | Identifier of the face to analyze. |
Returns
Type | Description |
---|---|
List<System.Int32> | Identifiers of the loops of the face. |
Remarks
This method is available since v7.7.
GetFaceMachiningProcess(ElementItemId, out Int32)
Gets the machining process of a face.
Declaration
[AvailableSinceVersion(7, 12, 0, 0)]
PdmObjectId GetFaceMachiningProcess(ElementItemId inFaceId, out int outValue)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inFaceId | Identifier of the face to analyze. |
System.Int32 | outValue | Machining process enumeration value, if the face has a machining process. |
Returns
Type | Description |
---|---|
PdmObjectId | PDM object identifier of the machining process definition document of the face, or Empty if the face has no machining process. |
Remarks
This method is available since v7.12.
GetFaceNormal(ElementItemId, Double, Double)
Gets the normal to the surface attached to a face at specified parametric values.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
Direction3D GetFaceNormal(ElementItemId inFaceId, double inU, double inV)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inFaceId | Identifier of the face to analyze. |
System.Double | inU | U parameter within face surface parametric range. |
System.Double | inV | V parameter within face surface parametric range. |
Returns
Type | Description |
---|---|
Direction3D | Normal to the face surface at the specified parametric values. |
Remarks
If the face is reversed, the orientation of the normal is the opposite to the cross product of the U and V parametric first derivatives.
This method is available since v7.7.
GetFacePlaneSurface(ElementItemId, out Plane3D)
Gets the plane surface attached to a face.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
void GetFacePlaneSurface(ElementItemId inFaceId, out Plane3D outPlane)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inFaceId | Identifier of the face to analyze. |
Plane3D | outPlane | Surface plane. |
Remarks
This method is available since v7.7.
GetFacePoint(ElementItemId, Double, Double)
Gets a point on the surface attached to a face at specified parametric values.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
Point3D GetFacePoint(ElementItemId inFaceId, double inU, double inV)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inFaceId | Identifier of the face to analyze. |
System.Double | inU | U parameter within face surface parametric range. |
System.Double | inV | V parameter within face surface parametric range. |
Returns
Type | Description |
---|---|
Point3D | Point on the face surface at the specified parametric values. |
Remarks
This method is available since v7.7.
GetFaceRange(ElementItemId, out Double, out Double, out Double, out Double)
Gets the parametric range of a face.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
void GetFaceRange(ElementItemId inFaceId, out double outUMin, out double outUMax, out double outVMin, out double outVMax)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inFaceId | Identifier of the face to analyze. |
System.Double | outUMin | Minimum U parametric value. |
System.Double | outUMax | Maximum U parametric value. |
System.Double | outVMin | Minimum V parametric value. |
System.Double | outVMax | Maximum V parametric value. |
Remarks
This method is available since v7.7.
GetFaces(ElementId)
Gets the faces of a shape.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
List<ElementItemId> GetFaces(ElementId inElementId)
Parameters
Type | Name | Description |
---|---|---|
ElementId | inElementId | Identifier of the shape entity to analyze. |
Returns
Type | Description |
---|---|
List<ElementItemId> | Identifiers of the faces of the shape. |
Remarks
This method is available since v7.7.
GetFaceSphereSurface(ElementItemId, out Frame3D, out Double)
Gets the sphere surface attached to a face.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
void GetFaceSphereSurface(ElementItemId inFaceId, out Frame3D outFrame, out double outRadius)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inFaceId | Identifier of the face to analyze. |
Frame3D | outFrame | Sphere frame. |
System.Double | outRadius | Sphere radius. |
Remarks
This method is available since v7.7.
GetFaceSurfaceParameters(ElementItemId, Point3D, out Double, out Double)
Gets the parametric values of a specified point on the surface attached to a face.
Declaration
[AvailableSinceVersion(7, 10, 300, 60)]
Point3D GetFaceSurfaceParameters(ElementItemId inFaceId, Point3D inPoint, out double outU, out double outV)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inFaceId | Identifier of the face to analyze. |
Point3D | inPoint | Point near face surface. |
System.Double | outU | U parameter of nearest point on face surface. |
System.Double | outV | V parameter of nearest point on face surface. |
Returns
Type | Description |
---|---|
Point3D | Nearest point to specified point on face surface. |
Remarks
This method is available since v7.10.300.60.
GetFaceSurfaceRange(ElementItemId, out Boolean, out Double, out Double, out Boolean, out Double, out Double)
Gets the parametric range of the surface attached to a face.
Declaration
[AvailableSinceVersion(7, 10, 300, 60)]
void GetFaceSurfaceRange(ElementItemId inFaceId, out bool outIsUPeriodic, out double outUMin, out double outUMax, out bool outIsVPeriodic, out double outVMin, out double outVMax)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inFaceId | Identifier of the face to analyze. |
System.Boolean | outIsUPeriodic | Whether the surface parameterization in U-periodic. |
System.Double | outUMin | Minimum U parametric value, or main U-period start if U-periodic. |
System.Double | outUMax | Maximum U parametric value, or main U-period end if U-periodic. |
System.Boolean | outIsVPeriodic | Whether the surface parameterization in V-periodic. |
System.Double | outVMin | Minimum V parametric value, or main V-period start if V-periodic. |
System.Double | outVMax | Maximum V parametric value, or main V-period end if V-periodic. |
Remarks
This method is available since v7.10.300.60.
GetFaceSurfaceType(ElementItemId)
Gets the type of the surface attached to a face.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
SurfaceType GetFaceSurfaceType(ElementItemId inFaceId)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inFaceId | Identifier of the face to analyze. |
Returns
Type | Description |
---|---|
SurfaceType | Type of the surface attached to the face. |
Remarks
This method is available since v7.7.
GetFaceVertices(ElementItemId)
Gets the vertices of a face.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
List<ElementItemId> GetFaceVertices(ElementItemId inFaceId)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inFaceId | Identifier of the face to analyze. |
Returns
Type | Description |
---|---|
List<ElementItemId> | Identifiers of the vertices of the face. |
Remarks
This method is available since v7.7.
GetLoopEdges(ElementId, Int32)
Gets the edges of a loop.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
List<ElementItemId> GetLoopEdges(ElementId inElementId, int inLoopId)
Parameters
Type | Name | Description |
---|---|---|
ElementId | inElementId | Identifier of the shape entity to analyze. |
System.Int32 | inLoopId | Identifier of the loop to analyze. |
Returns
Type | Description |
---|---|
List<ElementItemId> | Identifiers of the edges of the loop. |
Remarks
This method is available since v7.7.
GetLoopType(ElementId, Int32)
Gets the type of a loop.
Declaration
[AvailableSinceVersion(7, 6, 0, 0)]
LoopType GetLoopType(ElementId inElementId, int inLoopId)
Parameters
Type | Name | Description |
---|---|---|
ElementId | inElementId | Identifier of the shape entity to analyze. |
System.Int32 | inLoopId | Identifier of the loop to analyze. |
Returns
Type | Description |
---|---|
LoopType | Type of loop. |
Remarks
This method is available since v7.6.
GetShapePublishingDefinition(ElementId)
Gets the definition of a shape publishing entity.
Declaration
[AvailableSinceVersion(7, 8, 302, 80)]
SmartShape GetShapePublishingDefinition(ElementId inElementId)
Parameters
Type | Name | Description |
---|---|---|
ElementId | inElementId | Identifier of the publishing entity to analyze. |
Returns
Type | Description |
---|---|
SmartShape |
Remarks
This method is available since v7.8.302.80.
GetShapes(DocumentId)
Gets the shapes entities that are in the shapes folder of a document.
Declaration
[AvailableSinceVersion(7, 6, 0, 0)]
List<ElementId> GetShapes(DocumentId inDocumentId)
Parameters
Type | Name | Description |
---|---|---|
DocumentId | inDocumentId | Identifier of the document to analyze. |
Returns
Type | Description |
---|---|
List<ElementId> | Shape entities found. |
Remarks
This method is available since v7.6.
GetShapesFolder(DocumentId)
Gets the shapes folder entity of a document.
Declaration
[AvailableSinceVersion(7, 10, 0, 0)]
ElementId GetShapesFolder(DocumentId inDocumentId)
Parameters
Type | Name | Description |
---|---|---|
DocumentId | inDocumentId | Identifier of the document to analyze. |
Returns
Type | Description |
---|---|
ElementId | Identifier of the shapes folder entity found. |
Remarks
This method is available since v7.10.
GetShapeType(ElementId)
Gets the type of a shape entity.
Declaration
[AvailableSinceVersion(7, 6, 0, 0)]
ShapeType GetShapeType(ElementId inElementId)
Parameters
Type | Name | Description |
---|---|---|
ElementId | inElementId | Identifier of the shape entity to analyze. |
Returns
Type | Description |
---|---|
ShapeType | Type of the shape. |
Remarks
This method is available since v7.6.
GetShapeVolume(ElementId)
Gets the volume of a shape entity.
Declaration
[AvailableSinceVersion(7, 14, 0, 0)]
double GetShapeVolume(ElementId inElementId)
Parameters
Type | Name | Description |
---|---|---|
ElementId | inElementId | Identifier of the shape entity to analyze. |
Returns
Type | Description |
---|---|
System.Double | Type of the shape. |
Remarks
This method is available since v7.14.
GetSharpEdges(ElementId, Double)
Gets the sharp edges of a shape.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
List<ElementItemId> GetSharpEdges(ElementId inElementId, double inAngle)
Parameters
Type | Name | Description |
---|---|---|
ElementId | inElementId | Identifier of the shape entity to analyze. |
System.Double | inAngle | Minimum angle between face normals along the edge. |
Returns
Type | Description |
---|---|
List<ElementItemId> | Identifiers of the sharp edges of the shape. |
Remarks
This method is available since v7.7.
GetSmoothEdges(ElementId, Double)
Gets the smooth edges of a shape.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
List<ElementItemId> GetSmoothEdges(ElementId inElementId, double inAngle)
Parameters
Type | Name | Description |
---|---|---|
ElementId | inElementId | Identifier of the shape entity to analyze. |
System.Double | inAngle | Maximum angle between face normals along the edge. |
Returns
Type | Description |
---|---|
List<ElementItemId> | Identifiers of the smooth edges of the shape. |
Remarks
This method is available since v7.7.
GetVertexCount(ElementId)
Gets the number of vertices of a shape.
Declaration
[AvailableSinceVersion(7, 6, 0, 0)]
int GetVertexCount(ElementId inElementId)
Parameters
Type | Name | Description |
---|---|---|
ElementId | inElementId | Identifier of the shape entity to analyze. |
Returns
Type | Description |
---|---|
System.Int32 | Number of vertices of the shape. |
Remarks
This method is available since v7.6.
GetVertexPoint(ElementItemId)
Gets the point attached to a vertex.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
Point3D GetVertexPoint(ElementItemId inVertexId)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inVertexId | Identifier of the vertex to analyze. |
Returns
Type | Description |
---|---|
Point3D | Vertex point. |
Remarks
This method is available since v7.7.
GetVertices(ElementId)
Gets the vertices of a shape.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
List<ElementItemId> GetVertices(ElementId inElementId)
Parameters
Type | Name | Description |
---|---|---|
ElementId | inElementId | Identifier of the shape entity to analyze. |
Returns
Type | Description |
---|---|
List<ElementItemId> | Identifiers of the vertices of the shape. |
Remarks
This method is available since v7.7.
IsEdgeReversed(ElementItemId)
Tells whether an edge is reversed.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
bool IsEdgeReversed(ElementItemId inEdgeId)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inEdgeId | Identifier of the edge to analyze. |
Returns
Type | Description |
---|---|
System.Boolean | Whether the orientation of the edge is the opposite to the parametric orientation of its attached curve. |
Remarks
This method is available since v7.7.
IsEdgeSmooth(ElementItemId, Double)
Tells whether an edge is smooth.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
bool IsEdgeSmooth(ElementItemId inEdgeId, double inAngle)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inEdgeId | Identifier of the edge to analyze. |
System.Double | inAngle | Maximum angle between face normals along the edge. |
Returns
Type | Description |
---|---|
System.Boolean | Whether the edge is smooth at the specified angle tolerance. |
Remarks
This method is available since v7.7.
IsFaceReversed(ElementItemId)
Tells whether a face is reversed.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
bool IsFaceReversed(ElementItemId inFaceId)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inFaceId | Identifier of the face to analyze. |
Returns
Type | Description |
---|---|
System.Boolean | Whether the orientation of the face is the opposite to the parametric orientation of its attached surface. |
Remarks
This method is available since v7.7.
MakeShapeItemGeometryAnalysis(ElementItemId, Int32, out List<String>, out List<String>)
Make the geometry analysis of a shape item.
Declaration
[AvailableSinceVersion(7, 14, 0, 0)]
void MakeShapeItemGeometryAnalysis(ElementItemId inItemId, int inDecimalDigits, out List<string> outNames, out List<string> outResults)
Parameters
Type | Name | Description |
---|---|---|
ElementItemId | inItemId | Identifier of the shape item to analyze. |
System.Int32 | inDecimalDigits | Maximum number of digits after the decimal separator for unit-less values. |
List<System.String> | outNames | Analyses localized names (i.e. "Radius", "Length", ...). |
List<System.String> | outResults | Analyses localized corresponding results. |
Remarks
All units of results are in the unit defined by the document.
This method is available since v7.14.
PublishShape(DocumentId, String, SmartShape)
Creates a shape publishing entity in a document.
Declaration
[AvailableSinceVersion(7, 8, 302, 80)]
ElementId PublishShape(DocumentId inDocumentId, string inDescription, SmartShape inDefinition)
Parameters
Type | Name | Description |
---|---|---|
DocumentId | inDocumentId | Identifier of the document to modify. |
System.String | inDescription | Publishing description. |
SmartShape | inDefinition | Publishing definition. |
Returns
Type | Description |
---|---|
ElementId | Identifier of the created publishing entity. |
Remarks
StartModification(String, Boolean) and EnsureIsDirty(ref DocumentId) must be called before calling this method.
This method is available since v7.8.302.80.
SearchFaceWithRay(ElementId, Axis3D, Boolean, Boolean, out Point3D)
Searches for the first face of a shape that intersects an axis.
Declaration
[AvailableSinceVersion(7, 7, 0, 0)]
ElementItemId SearchFaceWithRay(ElementId inElementId, Axis3D inAxis, bool inUsesHalfAxis, bool inUsesApproximation, out Point3D outIntersection)
Parameters
Type | Name | Description |
---|---|---|
ElementId | inElementId | Identifier of the shape entity to analyze. |
Axis3D | inAxis | Intersection axis. |
System.Boolean | inUsesHalfAxis | Whether to consider only the part of the axis after its origin. |
System.Boolean | inUsesApproximation | Whether to use approximation for faster and less precise result. |
Point3D | outIntersection | Intersection point, if intersection found. |
Returns
Type | Description |
---|---|
ElementItemId | Identifier of the first face of the specified shape that intersects the specified axis, or Empty if no intersection found. |
Remarks
This method is available since v7.7.
SetShapePublishingDefinition(ElementId, SmartShape)
Sets the definition of a shape publishing entity.
Declaration
[AvailableSinceVersion(7, 8, 302, 80)]
void SetShapePublishingDefinition(ElementId inElementId, SmartShape inDefinition)
Parameters
Type | Name | Description |
---|---|---|
ElementId | inElementId | Identifier of the publishing entity to modify. |
SmartShape | inDefinition | Publishing new definition. |
Remarks
StartModification(String, Boolean) and EnsureIsDirty(ref DocumentId) must be called before calling this method.
This method is available since v7.8.302.80.