[Integration Kit Contents] [Integration Kit What's New] [Integration Kit Function Index] [More Documentation] [PTC]

Geometric Inquiries

Predicates:
sd-construction-geo-p
sd-blend-face-p
sd-blend-vertex-region-p
sd-chamfer-face-p

Inquiries:
sd-inq-bspline-edge-ctrl-pnt
sd-inq-bspline-edge-ctrl-pnts
sd-inq-bspline-edge-weights
sd-inq-bspline-edge-knot-vector
sd-inq-bspline-edge-interpolation-data
sd-inq-bspline-face-ctrl-pnts
sd-inq-bspline-face-weights
sd-inq-bspline-face-u-knot-vector
sd-inq-bspline-face-v-knot-vector
sd-inq-edge-geo
sd-inq-edge-pnt
sd-inq-exact-box
sd-inq-face-geo
sd-inq-base-curve
sd-inq-face-pnt
sd-get-pnt-on-face
sd-inq-geo-props
sd-inq-vertex-geo
sd-inq-blend-face
sd-inq-chamfer-face
sd-proj-pnt-on-edge
sd-proj-pnt-on-face
sd-inq-edge-arclen-param
sd-inq-edge-edge-int-pts
sd-inq-edge-convexity
sd-inq-draft-analysed-faces
sd-inq-draft-angle-face
sd-inq-face-face-dist
sd-inq-face-edge-dist
sd-inq-edge-edge-dist
sd-edge-to-bspline-cv

Generic Structures:
sd-edge
sd-bspline-edge
sd-face
sd-point-on-face
sd-point-on-edge

Specific Curve Structures:
sd-bspline-cv
sd-circle
sd-ellipse
sd-int-cv
sd-line
sd-point

Specific Surface Structures:
sd-bspline-sf
sd-cone
sd-cylinder
sd-plane
sd-sphere
sd-spun-bspline
sd-swept-bspline
sd-torus
sd-helical-sf

Projection Structures:
sd-edge-relax-pnt
sd-face-relax-pnt

Function Index Top of Page

SD-CONSTRUCTION-GEO-P  [function]

(sd-construction-geo-p element)
Description:
Predicate to determine whether or not an element is construction geometry.
Parameters:
element {SEL_ITEM} - The element to inquire.
Return Value:
t - The element is construction geometry.
nil - The element is not construction geometry.

Function Index Top of Page

SD-BLEND-FACE-P  [function]

(sd-blend-face-p face)
Description:
Predicate to determine whether or not a face is a blend face.
Parameters:
face {SEL_ITEM} - The face to inquire.
Return Value:
t - The face is a blend face.
nil - The face is not a blend face.

Function Index Top of Page

SD-BLEND-VERTEX-REGION-P  [function]

(sd-blend-vertex-region-p face)
Description:
Predicate to determine whether or not a face is a blend vertex region.
Parameters:
face {SEL_ITEM} - The face to inquire.
Return Value:
t - The face is a blend vertex region.
nil - The face is not a blend blend vertex region.

Function Index Top of Page

SD-CHAMFER-FACE-P  [function]

(sd-chamfer-face-p face)
Description:
Predicate to determine whether or not a face is a chamfer face.
Parameters:
face {SEL_ITEM} - The face to inquire.
Return Value:
t - The face is a chamfer face.
nil - The face is not a chamfer face.

Function Index Top of Page

SD-INQ-BSPLINE-EDGE-CTRL-PNT  [function]

(sd-inq-bspline-edge-ctrl-pnt edge :index index :dest-space space)
Description:
Returns the coordinates of the nth control point in the control polygon of a 2D or 3D bspline edge in a designated coordinate system.
Parameters:
edge {SEL_ITEM} - The spline edge to inquire.
:index {INTEGER} - The control point to inquire.
:dest-space {KEYWORD or SEL_ITEM [:local]}
:local - Data is returned in the coordinate system of the part/workplane containing the edge.
:global - Data is returned in the global coordinate system.
SEL_ITEM - Represents either an object or an element. Data is returned in the coordinate system of the object or part/workplane owning the element.
Return Value:
{GPNT3D} - The coordinates of the control point.
nil - An error occurred.

Function Index Top of Page

SD-INQ-BSPLINE-EDGE-CTRL-PNTS  [function]

(sd-inq-bspline-edge-ctrl-pnts edge :dest-space space)
Description:
Returns the coordinates of the control points in the control polygon of a 3D bspline edge in a designated coordinate system.
Parameters:
edge {SEL_ITEM} - The spline edge to inquire.
:dest-space {KEYWORD or SEL_ITEM [:local]}
:local - Data is returned in the coordinate system of the part/workplane containing the edge.
:global - Data is returned in the global coordinate system.
SEL_ITEM - Represents either an object or an element. Data is returned in the coordinate system of the object or part/workplane owning the element.
Return Value:
( {GPNT3D} ...) - list of coordinates of the control points.
nil - An error occurred.

Function Index Top of Page

SD-INQ-BSPLINE-EDGE-WEIGHTS  [function]

(sd-inq-bspline-edge-weights edge)
Description:
Returns the weights of a rational 3D bspline edge.
Parameters:
edge {SEL_ITEM} - The spline edge to inquire.
SEL_ITEM - Represents either an object or an element. Data is returned in the coordinate system of the object or part/workplane owning the element.
Return Value:
( {LONG-FLOAT} ...) - list of double values of weights.
nil - if curve is nonrational.

Function Index Top of Page

SD-INQ-BSPLINE-EDGE-KNOT-VECTOR  [function]

(sd-inq-bspline-edge-knot-vector edge)
Description:
Returns the knot vector of a 3D bspline edge.
Parameters:
edge {SEL_ITEM} - The spline edge to inquire.
Return Value:
( {LONG-FLOAT} ...) - list of double values representing the knot vector in ascending order multiple knots are represented according to their multiplicity.
nil - if error occured

Function Index Top of Page

SD-INQ-BSPLINE-EDGE-INTERPOLATION-DATA  [function]

(sd-inq-bspline-edge-interpolation-data edge 
                                        :coordinates coordinates 
                                        :tangents tangents 
                                        :curvatures curvatures 
                                        :all all 
                                        :dest-space space)
Description:
Inquires the interpolation data (coordinates, tangents and curvatures) of a 3D interpolation bspline edge. Coordinates, tangents and curvatures are returned, if inquired, in property lists of equal length, where the n-th entry of each list describes the interpolation data at the n-th interpolation point. If no tangent or curvature is defined at a certain interpolation point, then the list entry is nil.
Data is returned in a designated coordinate system.
Note: The curvature values are only defined at start and end point of open and closed non-periodic 3D bspline edges.
Parameters:
edge {SEL_ITEM} - The 3D bspline edge to inquire.
:coordinates {BOOLEAN [t]} - Include coordinates of the interpolation points.
:tangents {BOOLEAN} - Include tangents at the interpolation points.
:curvatures {BOOLEAN} - Include curvatures at the interpolation points.
:all {BOOLEAN} - Include all of the above properties at the interpolation points.
:dest-space {KEYWORD or SEL_ITEM [:local]}
:local - Data is returned in the coordinate system of the part/workplane containing the edge.
:global - Data is returned in the global coordinate system.
SEL_ITEM - Represents either an object or an element. Data is returned in the coordinate system of the object or the part/workplane owning the element.
Return Value:
property-list {LIST} - A property list containing key/value pairs for the requested properties.
:coordinates ( {GPNT3D} ... ) - list of coordinates of the interpolation points.
:tangents ( {GPNT3D} ... ) - list of tangents at the interpolation points.
:curvatures ( {GPNT3D} ... ) - list of curvatures at the interpolation points.
nil - An error occurred.
Example:
(sd-inq-bspline-edge-interpolation-data some-edge :all t :dest-space :global)
 => (:CURVATURES (0.0,0.0,0.0 LISP::NIL LISP::NIL 0.0,0.0,0.0)
     :TANGENTS (0.0,1.0,0.0 LISP::NIL 1.0979238889491709,-1.0201911105624524,0.061426639205491018 -1.0,0.0,0.0)
     :COORDINATES (0.0,50.0,0.0 44.953945201558,99.245277748041161,0.0 97.357535848737569,84.631614739775415,10.0 100.0,0.0,0.0))

(getf (sd-inq-bspline-edge-interpolation-data some-edge :all t :dest-space :global) :curvatures)
 => (:CURVATURES (0.0,0.0,0.0 LISP::NIL LISP::NIL 0.0,0.0,0.0))

Function Index Top of Page

SD-INQ-BSPLINE-FACE-CTRL-PNTS  [function]

(sd-inq-bspline-face-ctrl-pnts face :dest-space space)
Description:
Returns the coordinates of the nth control point in the control polygon of a 3D bspline face in a designated coordinate system.
Parameters:
face {SEL_ITEM} - The spline face to inquire.
:dest-space {KEYWORD or SEL_ITEM [:local]}
:local - Data is returned in the coordinate system of the part/workplane containing the face.
:global - Data is returned in the global coordinate system.
SEL_ITEM - Represents either an object or an element. Data is returned in the coordinate system of the object or part/workplane owning the element.
Return Value:
( ({GPNT3D} ...) ({GPNT3D} ...)) - list of list of coordinates of the control point.
nil - An error occurred.

Function Index Top of Page

SD-INQ-BSPLINE-FACE-WEIGHTS  [function]

(sd-inq-bspline-face-weights face)
Description:
Returns the weights of a rational 3D bspline face.
Parameters:
face {SEL_ITEM} - The spline face to inquire.
SEL_ITEM - Represents either an object or an element. Data is returned in the coordinate system of the object or part/workplane owning the element.
Return Value:
( ({LONG-FLOAT} ...) ({LONG-FLOAT} ...)) - list of list of double values of weights.
nil - if curve is nonrational.

Function Index Top of Page

SD-INQ-BSPLINE-FACE-U-KNOT-VECTOR  [function]

(sd-inq-bspline-face-u-knot-vector face)
Description:
Returns the knot vector of a 3D bspline face in u parameter direction.
Parameters:
face {SEL_ITEM} - The spline face to inquire.
Return Value:
( {LONG-FLOAT} ...) - list of double values representing the knot vector in ascending order multiple knots are represented according to their multiplicity.
nil - if error occured

Function Index Top of Page

SD-INQ-BSPLINE-FACE-V-KNOT-VECTOR  [function]

(sd-inq-bspline-face-knot-vector face)
Description:
Returns the knot vector of a 3D bspline face in v parameter direction.
Parameters:
face {SEL_ITEM} - The spline face to inquire.
Return Value:
( {LONG-FLOAT} ...) - list of double values representing the knot vector in ascending order multiple knots are represented according to their multiplicity.
nil - if error occured

Function Index Top of Page

SD-INQ-EDGE-GEO  [function]

(sd-inq-edge-geo edge :dest-space space)
Description:
Returns generic geometric data describing a 2D or 3D edge in a designated coordinate system.
Parameters:
edge {SEL_ITEM} - The edge to inquire.
:dest-space {KEYWORD or SEL_ITEM [:local]}
:local - Data is returned in the coordinate system of the part/workplane containing the edge.
:global - Data is returned in the global coordinate system.
SEL_ITEM - Represents either an object or an element. Data is returned in the coordinate system of the object or the part/workplane owning the element.
Return Value:
data {SD-EDGE} or {SD-BSPLINE-EDGE}- A Lisp structure. SD-BSPLINE-EDGE is returned for B-spline edges SD-EDGE for all other edges
nil - An error occurred.

Function Index Top of Page

SD-EDGE  [structure]

(sd-edge-p sd-edge)
(sd-edge-s-start sd-edge)
(sd-edge-s-end sd-edge)
(sd-edge-start-pnt sd-edge)
(sd-edge-end-pnt sd-edge)
(sd-edge-ll-pnt sd-edge)
(sd-edge-ur-pnt sd-edge)
(sd-edge-closed sd-edge)
(sd-edge-periodic sd-edge)
Description:
A Lisp structure containing generic geometric data for a 2D or 3D edge.
Slots:
s-start {LONG-FLOAT} - Initial parametric value on the curve describing the edge.
s-end {LONG-FLOAT} - Final parametric value on the curve describing the edge.
start-pnt {GPNT3D} - Coordinates of starting vertex.
end-pnt {GPNT3D} - Coordinates of ending vertex.
ll-pnt {GPNT3D} - Coordinates of lower-left point of bounding box.
ur-pnt {GPNT3D} - Coordinates of upper-right point of bounding box.
closed {BOOLEAN} - t if edge is closed; nil if edge is open.
periodic {BOOLEAN} - t if edge is periodic; nil if edge is non-periodic.
Note:
For unbound edges like infinite straight construction lines or for construction points the parametric values of the start and end point (s-start, s-end) and the bounding box (ll-pnt, ur-pnt) are undefined. Start and end point are not defined. The returned values are just values for any two points laying on the curve or the point itself.
See Also:
SD-INQ-EDGE-GEO [function]
SD-GPNT3D-TO-2D [function]

Function Index Top of Page

SD-BSPLINE-EDGE  [structure]

(sd-bspline-edge-p sd-bspline-edge)
(sd-bspline-edge-s-start sd-bspline-edge)
(sd-bspline-edge-s-end sd-bspline-edge)
(sd-bspline-edge-start-pnt sd-bspline-edge)
(sd-bspline-edge-end-pnt sd-bspline-edge)
(sd-bspline-edge-ll-pnt sd-bspline-edge)
(sd-bspline-edge-ur-pnt sd-bspline-edge)
(sd-bspline-edge-closed sd-bspline-edge)
(sd-bspline-edge-periodic sd-bspline-edge)
(sd-bspline-edge-order sd-bspline-edge)
(sd-bspline-edge-ctrl-pnts sd-bspline-edge)
(sd-bspline-edge-weights sd-bspline-edge)
(sd-bspline-edge-knot-vector sd-bspline-edge)
Description:
A Lisp structure containing generic geometric data for a B-spline edge.
Slots:
s-start {LONG-FLOAT} - Initial parametric value on the curve describing the edge.
s-end {LONG-FLOAT} - Final parametric value on the curve describing the edge.
start-pnt {GPNT3D} - Coordinates of starting vertex.
end-pnt {GPNT3D} - Coordinates of ending vertex.
ll-pnt {GPNT3D} - Coordinates of lower-left point of bounding box.
ur-pnt {GPNT3D} - Coordinates of upper-right point of bounding box.
closed {BOOLEAN} - t if edge is closed; nil if edge is open.
periodic {BOOLEAN} - t if edge is periodic; nil if edge is non-periodic.
order {FIXNUM} - the order of the B-spline edge.
ctrl-pnts ( {GPNT3D} ...) - the list of control points of the B-spline edge.
weights ( {LONG-FLOAT} ...) - the list of weights of the B-spline edge if it is rational.
knot-vector ( {LONG-FLOAT} ...) - the knot vector of the B-spline edge in ascending order knots with a certain multiplicity are represented according to the multiplicity.
Note:
The structure sd-bspline-edge is derived from sd-edge and therefore any access function of sd-edge can be applied to sd-bspline-edge as well
See Also:
SD-INQ-EDGE-GEO [function]
SD-GPNT3D-TO-2D [function]

Function Index Top of Page

SD-POINT-ON-EDGE  [structure]

(sd-point-on-edge-p sd-point-on-edge)
(sd-point-on-edge-edge sd-point-on-edge)
(sd-point-on-edge-s sd-point-on-edge)
Description:
A Lisp structure containing generic geometric data for a point on a edge.
Slots:
edge {SEL_ITEM} - the edge the point lies on.
s {LONG-FLOAT} - parameter value on the curve describing the point on the edge.
See Also:
SD-INQ-FACE-EDGE-DIST [function]
SD-INQ-EDGE-EDGE-DIST [function]

Function Index Top of Page

SD-INQ-EDGE-PNT  [function]

(sd-inq-edge-pnt edge 
                 :s s 
                 :coordinates coordinates 
                 :normal normal 
                 :tangent tangent 
                 :curvature curvature 
                 :all all 
                 :dest-space space
                 :cv-space pspace)
Description:
Inquire local geometric properties of a 2D or 3D edge at a parametrically-defined point on the edge. Data is returned in a designated coordinate system.
Parameters:
edge {SEL_ITEM} - The edge to inquire.
:s {LONG-FLOAT} - Parametric value defining the point on the edge.
:coordinates {BOOLEAN [t]} - Include coordinates of the point.
:normal {BOOLEAN} - Include normal at the point.
:tangent {BOOLEAN} - Include tangent at the point.
:curvature {BOOLEAN} - Include curvature at the point.
:all {BOOLEAN} - Include all of the above properties at the point.
:dest-space {KEYWORD or SEL_ITEM [:local]}
:local - Data is returned in the coordinate system of the part/workplane containing the edge.
:global - Data is returned in the global coordinate system.
SEL_ITEM - Represents either an object or an element. Data is returned in the coordinate system of the object or the part/workplane owning the element.
:cv-space {BOOLEAN[nil]} - When true the edge point may lie outside the edge domain.
Return Value:
property-list {LIST} - A property list containing key/value pairs for the requested properties.
:coordinates {GPNT3D}
:normal {GPNT3D}
:tangent {GPNT3D}
:curvature {GPNT3D}
Note: A property will not be included in the return list if it is undefined at the specified point on the edge.
nil - An error occurred.
Example:
(sd-inq-edge-pnt some-edge :s 4.5678 :all t :dest-space :global)
 => (:CURVATURE 0.0,1.8729133745815927,-0.70156645537923967 
     :NORMAL -1.0000000000000002,0.0,0.0 
     :TANGENT 0.0,0.35078322768961989,0.93645668729079645 
     :COORDINATES 9.1811550000000004,32.688138625418404,21.70156645537924)

(getf (sd-inq-edge-pnt some-edge :s 4.5678 :all t :dest-space :global) :normal)
 => -1.0000000000000002,0.0,0.0

Function Index Top of Page

SD-INQ-EXACT-BOX  [function]

(sd-inq-exact-box part 
                  z-dir
                  x-dir
                  :source-space space1
                  :dest-space space2)
Description:
Inquire the exact box of a part with respect to the directions x, y and z, where x is the given x-dir y is the cross product of z-dir and x-dir and z is the given z-dir
Parameters:
part {SEL_ITEM} - The part to inquire.
z-dir {GPNT3D} - the z direction of the box
x-dir {GPNT3D} - the x direction of the box
:source-space {KEYWORD or SEL_ITEM [:local]}
:local - The directions are defined in the coordinate system of the part.
:global - Data is returned in the global coordinate system.
SEL_ITEM - Represents either an object or an element. Data is returned in the coordinate system of the object or the part owning the element.
:dest-space {KEYWORD or SEL_ITEM [:local]}
:local - Data is returned in the coordinate system of the part.
:global - Data is returned in the global coordinate system.
SEL_ITEM - Represents either an object or an element. Data is returned in the coordinate system of the object or the part owning the element.
Return Value:
list-of-points {LIST} - A list of two GPNT3D, where the first point represents the lower left corner of the box and the second element represents the upper right corner of the box.
Note: the box can be visualized by postprocessing the results via SD-BOX-POINTS and SD-START-BOX-FEEDBACK
nil - An error occurred.
Example:
(setf result
    (sd-inq-exact-box some-part 0,0,1 1,0,0 :source-space :global :dest-space :global)
    => (0.0,1.8729133745815927,-0.70156645537923967 
           9.1811550000000004,32.688138625418404,21.70156645537924)
(setf feedback
    (sd-start-box-feedback
       (sd-box-points (first result) (second result) 0,0,1 1,0,0)))

Function Index Top of Page

SD-INQ-FACE-GEO  [function]

(sd-inq-face-geo face :dest-space space)
Description:
Returns generic geometric data describing a face in a designated coordinate system.
Parameters:
face {SEL_ITEM} - The face to inquire.
:dest-space {KEYWORD or SEL_ITEM [:local]}
:local - Data is returned in the coordinate system of the part containing the face.
:global - Data is returned in the global coordinate system.
SEL_ITEM - Represents either an object or an element. Data is returned in the coordinate system of the object or the part/workplane owning the element.
Return Value:
data {SD-FACE} - A Lisp structure.
nil - An error occurred.

Function Index Top of Page

SD-INQ-BASE-CURVE  [function]

(sd-inq-base-curve face :dest-space space)
Description:
Returns data on the base curve of a spun bspline or a parallel swept bspline
Parameters:
face {SEL_ITEM} - The face to inquire.
:dest-space {KEYWORD or SEL_ITEM [:local]}
:local - Data is returned in the coordinate system of the part containing the face.
:global - Data is returned in the global coordinate system.
SEL_ITEM - Represents either an object or an element. Data is returned in the coordinate system of the object or the part/workplane owning the element.
Return Value:
data {SD-BSPLINE-EDGE} - A Lisp structure.
nil - If the face is neither a parallel swept bspline nor a spun bspline.
See Also:
SD-SPUN-BSPLINE [STRUCTURE]
SD-SWEPT-BSPLINE [STRUCTURE]

Function Index Top of Page

SD-FACE  [structure]

(sd-face-p sd-face)
(sd-face-u-start sd-face)
(sd-face-u-end sd-face)
(sd-face-v-start sd-face)
(sd-face-v-end sd-face)
(sd-face-ll-pnt sd-face)
(sd-face-ur-pnt sd-face)
(sd-face-u-closed sd-face)
(sd-face-u-periodic sd-face)
(sd-face-v-closed sd-face)
(sd-face-v-periodic sd-face)
Description:
A Lisp structure containing generic geometric data for a face.
Slots:
u-start {LONG-FLOAT} - Initial U parameter value on the surface describing the face.
u-end {LONG-FLOAT} - Final U parameter value on the surface describing the face.
v-start {LONG-FLOAT} - Initial V parameter value on the surface describing the face.
v-end {LONG-FLOAT} - Final V parameter value on the surface describing the face.
ll-pnt {GPNT3D} - Coordinates of lower-left point of bounding box.
ur-pnt {GPNT3D} - Coordinates of upper-right point of bounding box.
u-closed {BOOLEAN} - t if face is closed in the U direction; nil if face is open in the U direction.
u-periodic {BOOLEAN} - t if face is periodic in the U direction; nil if face is non-periodic in the U direction.
v-closed {BOOLEAN} - t if face is closed in the V direction; nil if face is open in the V direction.
v-periodic {BOOLEAN} - t if face is periodic in the V direction; nil if face is non-periodic in the V direction.
See Also:
SD-INQ-FACE-GEO [function]
SD-GPNT3D-TO-2D [function]

Function Index Top of Page

SD-POINT-ON-FACE  [structure]

(sd-point-on-face-p sd-point-on-face)
(sd-point-on-face-face sd-point-on-face)
(sd-point-on-face-u sd-point-on-face)
(sd-point-on-face-v sd-point-on-face)
Description:
A Lisp structure containing generic geometric data for a point on a face.
Slots:
face {SEL_ITEM} - the face the point lies on.
u {LONG-FLOAT} - U parameter value on the surface describing the point on the face.
v {LONG-FLOAT} - V parameter value on the surface describing the point on the face.
See Also:
SD-INQ-FACE-FACE-DIST [function]
SD-INQ-FACE-EDGE-DIST [function]

Function Index Top of Page

SD-INQ-FACE-PNT  [function]

(sd-inq-face-pnt face 
                 :u u 
                 :v v 
                 :coordinates coordinates 
                 :normal normal 
                 :tangents tangents 
                 :curvatures curvatures 
                 :all all 
                 :dest-space space
                 :sf-space pspace)
Description:
Inquire local geometric properties of a face at a parametrically-defined point on the face. Data is returned in a designated coordinate system.
Parameters:
face {SEL_ITEM} - The face to inquire.
:u {LONG-FLOAT} - U parameter defining the point on the face.
:v {LONG-FLOAT} - V parameter defining the point on the face.
:coordinates {BOOLEAN [t]} - Include coordinates of the point.
:normal {BOOLEAN} - Include normal at the point.
:tangents {BOOLEAN} - Include U and V tangents at the point.
:curvatures {BOOLEAN} - Include maximal and and minimal curvatures at the point.
:all {BOOLEAN} - Include all of the above properties at the point.
:dest-space {KEYWORD or SEL_ITEM [:local]}
:local - Data is returned in the coordinate system of the part/workplane containing the face.
:global - Data is returned in the global coordinate system.
SEL_ITEM - Represents either an object or an element. Data is returned in the coordinate system of the object or the part/workplane owning the element.
:sf-space {BOOLEAN[nil]} - When true the face point may lie outside the face domain, that is on the surface obtained by extending the face beyond its bounding edges.
Return Value:
property-list {LIST} - A property list containing key/value pairs for the requested properties.
:coordinates {GPNT3D}
:normal {GPNT3D}
:u_tangent {GPNT3D}
:v_tangent {GPNT3D}
:max_curvature {GPNT3D}
:min_curvature {GPNT3D}
Note: A property will not be included in the return list if it is undefined at the specified point on the face.
nil - An error occurred.
Example:
(sd-inq-face-pnt some-face :u 44.945 :v -49.432 :all t :dest-space :global)
 => (:MIN_CURVATURE  -5.3662894370709027E-4,-0.0018989751566466638,-0.010469898627224167
     :MAX_CURVATURE  0.027821734218691843,9.6294714275534815E-4,-0.0012570653135790671
     :V_TANGENT  -5.9815412786550106E-16,-0.17918579428326767,-1.0000000000000004
     :U_TANGENT  -1.0000000000000018,-0.042707452385792655,0.0
     :NORMAL  0.042000821713842673,-0.98345416004760366,0.17622101480931363
     :COORDINATES  55.054945307755126,-10.821038787785358,49.432727804501269)

(getf (sd-inq-face-pnt some-face :u 44.945 :v -49.432 :all t :dest-space :global) :normal)
 => 0.042000821713842673,-0.98345416004760366,0.17622101480931363

Function Index Top of Page

SD-GET-PNT-ON-FACE  [function]

(sd-get-pnt-on-face face :dest-space space)
Description:
Returns an inner point of the given face.
Parameters:
face {SEL_ITEM} - The face to inquire.
:dest-space {KEYWORD or SEL_ITEM [:local]}
:local - Data is returned in the coordinate system of the part containing the face.
:global - Data is returned in the global coordinate system.
SEL_ITEM - Represents either an object or an element. Data is returned in the coordinate system of the object or the part/workplane owning the element.
Return Value:
point {GPNT3D} - The face point.

Function Index Top of Page

SD-INQ-GEO-PROPS  [function]

(sd-inq-geo-props element :dest-space space)
Description:
Returns specific geometric data describing a 2D or 3D element in a designated coordinate system.
Parameters:
element {SEL_ITEM} - The element to inquire.
:dest-space {KEYWORD or SEL_ITEM [:local]}
:local - Data is returned in the coordinate system of the part/workplane containing the element.
:global - Data is returned in the global coordinate system.
SEL_ITEM - Represents either an object or an element. Data is returned in the coordinate system of the object or the part/workplane owning the element.
Return Value:
data {SD-XXX} - A specific Lisp structure describing the geometry of the element.
SD-BSPLINE-CV
SD-CIRCLE
SD-ELLIPSE
SD-INT-CV
SD-LINE
SD-POINT
SD-BSPLINE-SF
SD-CONE
SD-CYLINDER
SD-PLANE
SD-SPHERE
SD-SPUN-BSPLINE
SD-SWEPT-BSPLINE
SD-TORUS
SD-HELICAL-SF
nil - An error occurred.

Function Index Top of Page

SD-BSPLINE-CV  [structure]

(sd-bspline-cv-p sd-bspline-cv)
(sd-bspline-cv-num-ctrl-pnts sd-bspline-cv)
(sd-bspline-cv-order sd-bspline-cv)
Description:
A Lisp structure containing specific geometric data describing a bspline curve.
Slots:
num-ctrl-pnts {INTEGER} - The number of control points on the curve.
order {INTEGER} - The order of the B-spline curve.
See Also:
SD-INQ-GEO-PROPS [function]

Function Index Top of Page

SD-CIRCLE  [structure]

(sd-circle-p sd-circle)
(sd-circle-center sd-circle)
(sd-circle-normal sd-circle)
(sd-circle-start-dir sd-circle)
(sd-circle-radius sd-circle)
Description:
A Lisp structure containing specific geometric data describing a circle.
Slots:
center {GPNT3D} - Coordinates of the circle's center.
normal {GPNT3D} - Unit vector normal to the plane of the circle.
start-dir {GPNT3D} - Unit vector in the direction of the circle's start point.
radius {LONG-FLOAT} - The radius of the circle in system units.
See Also:
SD-INQ-GEO-PROPS [function]

Function Index Top of Page

SD-ELLIPSE  [structure]

(sd-ellipse-p sd-ellipse)
(sd-ellipse-center sd-ellipse)
(sd-ellipse-normal sd-ellipse)
(sd-ellipse-maj-axis-dir sd-ellipse)
(sd-ellipse-min-axis-dir sd-ellipse)
(sd-ellipse-maj-radius sd-ellipse)
(sd-ellipse-min-radius sd-ellipse)
Description:
A Lisp structure containing specific geometric data describing an ellipse.
Slots:
center {GPNT3D} - Coordinates of the ellipse's center.
normal {GPNT3D} - Unit vector normal to the plane of the ellipse.
maj-axis-dir {GPNT3D} - Unit vector in the direction of the ellipse's major axis.
min-axis-dir {GPNT3D} - Unit vector in the direction of the ellipse's minor axis.
maj-radius {LONG-FLOAT} - The major radius of the ellipse in system units.
min-radius {LONG-FLOAT} - The minor radius of the ellipse in system units.
See Also:
SD-INQ-GEO-PROPS [function]

Function Index Top of Page

SD-INT-CV  [structure]

(sd-int-cv-p sd-int-cv)
Description:
An empty Lisp structure. No information is returned describing intersection curves at this time.
See Also:
SD-INQ-GEO-PROPS [function]

Function Index Top of Page

SD-LINE  [structure]

(sd-line-p sd-line)
(sd-line-pnt sd-line)
(sd-line-dir sd-line)
Description:
A Lisp structure containing specific geometric data describing a line.
Slots:
pnt {GPNT3D} - Coordinates of a point on the line.
dir {GPNT3D} - Unit vector in the direction of the line.
See Also:
SD-INQ-GEO-PROPS [function]

Function Index Top of Page

SD-POINT  [structure]

(sd-point-p sd-point)
(sd-point-pnt sd-point)
Description:
A Lisp structure containing specific geometric data describing an edge which doesn't have a curve and where start and end point are equal.
Slots:
pnt {GPNT3D} - Coordinates of the point.
See Also:
SD-INQ-GEO-PROPS [function]

Function Index Top of Page

SD-BSPLINE-SF  [structure]

(sd-bspline-sf-p sd-bspline-sf)
(sd-bspline-sf-num-ctrl-pnts sd-bspline-sf)
(sd-bspline-sf-u-order sd-bspline-sf)
(sd-bspline-sf-v-order sd-bspline-sf)
Description:
A Lisp structure containing specific geometric data describing a bspline surface.
Slots:
num-ctrl-pnts {INTEGER} - The number of control points on the surface.
u-order {INTEGER} - The order of the B-spline face in u parameter direction.
v-order {INTEGER} - The order of the B-spline face in v parameter direction.
See Also:
SD-INQ-GEO-PROPS [function]

Function Index Top of Page

SD-CONE  [structure]

(sd-cone-p sd-cone)
(sd-cone-apex sd-cone)
(sd-cone-axis-dir sd-cone)
(sd-cone-angle sd-cone)
Description:
A Lisp structure containing specific geometric data describing a cone.
Slots:
apex {GPNT3D} - Coordinates of the cone's apex.
axis-dir {GPNT3D} - Unit vector in the direction of the cone's axis.
angle {LONG-FLOAT} - The angle between the axis of the cone and its surface in system units.
See Also:
SD-INQ-GEO-PROPS [function]

Function Index Top of Page

SD-CYLINDER  [structure]

(sd-cylinder-p sd-cylinder)
(sd-cylinder-center sd-cylinder)
(sd-cylinder-axis-dir sd-cylinder)
(sd-cylinder-start-dir sd-cylinder)
(sd-cylinder-radius sd-cylinder)
Description:
A Lisp structure containing specific geometric data describing a cylinder.
Slots:
center {GPNT3D} - Coordinates of the cylinder's center.
axis-dir {GPNT3D} - Unit vector in the direction of the cylinder's axis.
start-dir {GPNT3D} - Unit vector in the direction of the cylinder's start point.
radius {LONG-FLOAT} - The radius of the cylinder in system units.
See Also:
SD-INQ-GEO-PROPS [function]

Function Index Top of Page

SD-PLANE  [structure]

(sd-plane-p sd-plane)
(sd-plane-origin sd-plane)
(sd-plane-normal sd-plane)
(sd-plane-u-dir sd-plane)
(sd-plane-v-dir sd-plane)
Description:
A Lisp structure containing specific geometric data describing a plane.
Slots:
origin {GPNT3D} - Coordinates of the plane's origin.
normal {GPNT3D} - Unit vector in the plane's normal direction.
u-dir {GPNT3D} - Unit vector in the plane's U direction.
v-dir {GPNT3D} - Unit vector in the plane's V direction.
See Also:
SD-INQ-GEO-PROPS [function]

Function Index Top of Page

SD-SPHERE  [structure]

(sd-sphere-p sd-sphere)
(sd-sphere-center sd-sphere)
(sd-sphere-axis-dir sd-sphere)
(sd-sphere-start-dir sd-sphere)
(sd-sphere-radius sd-sphere)
Description:
A Lisp structure containing specific geometric data describing a sphere.
Slots:
center {GPNT3D} - Coordinates of the sphere's center.
axis-dir {GPNT3D} - Unit vector in the direction of the sphere's axis.
start-dir {GPNT3D} - Unit vector in the direction of the sphere's start point.
radius {LONG-FLOAT} - The radius of the sphere in system units.
See Also:
SD-INQ-GEO-PROPS [function]

Function Index Top of Page

SD-SPUN-BSPLINE  [structure]

(sd-spun-bspline-p sd-spun-bspline)
(sd-spun-bspline-axis-dir sd-spun-bspline)
(sd-spun-bspline-axis-pnt sd-spun-bspline)
Description:
A Lisp structure containing specific geometric data describing a spun-bspline surface.
Slots:
axis-dir {GPNT3D} - Unit vector in the spun-bspline's spin direction.
axis-pnt {GPNT3D} - Coordinates of a point on the spin axis.
See Also:
SD-INQ-GEO-PROPS [function]

Function Index Top of Page

SD-SWEPT-BSPLINE  [structure]

(sd-swept-bspline-p sd-swept-bspline)
(sd-swept-bspline-dir sd-swept-bspline)
Description:
A Lisp structure containing specific geometric data describing a swept-bspline surface.
Slots:
dir {GPNT3D} - Unit vector in the swept-bspline's sweep direction.
See Also:
SD-INQ-GEO-PROPS [function]

Function Index Top of Page

SD-TORUS  [structure]

(sd-torus-p sd-torus)
(sd-torus-center sd-torus)
(sd-torus-axis-dir sd-torus)
(sd-torus-maj-dir sd-torus)
(sd-torus-min-dir sd-torus)
(sd-torus-maj-radius sd-torus)
(sd-torus-min-radius sd-torus)
Description:
A Lisp structure containing specific geometric data describing a torus.
Slots:
center {GPNT3D} - Coordinates of the torus's center.
axis-dir {GPNT3D} - Unit vector in the direction of the torus's axis.
maj-dir {GPNT3D} - Unit vector describing the torus's major direction.
min-dir {GPNT3D} - Unit vector describing the torus's minor direction.
maj-radius {LONG-FLOAT} - The major radius of the torus in system units.
min-radius {LONG-FLOAT} - The minor radius of the torus in system units.
See Also:
SD-INQ-GEO-PROPS [function]

Function Index Top of Page

SD-HELICAL-SF  [structure]

(sd-helical-sf-p sd-helical-sf)
(sd-helical-sf-num-ctrl-pnts sd-helical-sf)
(sd-helical-sf-u-order sd-helical-sf)
(sd-helical-sf-v-order sd-helical-sf)
(sd-helical-sf-center sd-helical-sf)
(sd-helical-sf-axis-dir sd-helical-sf)
(sd-helical-sf-pitch sd-helical-sf)
(sd-helical-sf-turns sd-helical-sf)
(sd-helical-sf-right-handed sd-helical-sf)
Description:
A Lisp structure containing specific geometric data describing a helical surface.
Slots:
num-ctrl-pnts {INTEGER} - See sd-bspline-sf.
u-order {INTEGER} - See sd-bspline-sf.
v-order {INTEGER} - See sd-bspline-sf.
center {GPNT3D} - Coordinates of the helical surface's center.
axis-dir {GPNT3D} - Unit vector in the direction of the helical surface axis.
pitch {LONG-FLOAT} - Value describing the pitch of the helix.
turns {LONG-FLOAT} - Value describing the number of turns of the helix.
right-handed {LONG-FLOAT} - Flag whether the helix is right- or left-handed.
See Also:
SD-INQ-GEO-PROPS [function]

Function Index Top of Page

SD-INQ-VERTEX-GEO  [function]

(sd-inq-vertex-geo vertex :dest-space space)
Description:
Returns the coordinates of a 2D or 3D vertex in a designated coordinate system.
Parameters:
vertex {SEL_ITEM} - The vertex to inquire.
:dest-space {KEYWORD or SEL_ITEM [:local]}
:local - Data is returned in the coordinate system of the part/workplane containing the vertex.
:global - Data is returned in the global coordinate system.
SEL_ITEM - Represents either an object or an element. Data is returned in the coordinate system of the object or the part/workplane owning the element.
Return Value:
coordinates {GPNT3D} - The coordinates of the vertex.
nil - An error occurred.
See Also:
SD-GPNT3D-TO-2D [function]

Function Index Top of Page

SD-INQ-BLEND-FACE  [function]

(sd-inq-blend-face face)
Description:
Function to inquire the type and radius (radii) of a blend face.
Parameters:
face {SEL_ITEM} - The face to inquire.
Return Value:
property list
Depending on the type of the blend, one of the following property lists will be returned:
  • (:type :const :radius value)
    for constant radius blends where value indicates the blend radius.
  • (:type :var :radius1 value1 :radius2 value2)
    for variable radius blends where value1 and value2 indicate the start and end radii (or vice-versa).

Note: To extract values from the return list, use getf.

nil - failure
Example:
(setq result (sd-inq-blend-face a-face-sel-item)) =>
  (:type :var :radius1 10 :radius2 20)

(getf result :type) => :var
(getf result :radius1) => 10

Function Index Top of Page

SD-INQ-CHAMFER-FACE  [function]

(sd-inq-chamfer-face face)
Description:
Function to inquire the type, distance, distance-distance or distance and angle of a chamfer face.
Parameters:
face {SEL_ITEM} - The face to inquire.
Return Value:
property list
Depending on the type of the chamfer, one of the following property lists will be returned:
  • (:type :dist :distance value)
    for 45 degree chamfers where value indicates the chamfer distance.
  • (:type :dist-dist :distance1 value1 :distance2 value2)
    for distance-distance chamfers where value1 and value2 indicate the two chamfer distances.
  • (:type :dist-angle :distance distance :angle angle)
    for distance-angle chamfers where distance indicates the distance and angle the angle of the chamfer.

Note: All values are returned in internal units i.e. mm and rad. To extract values from the return list, use getf.

nil - failure
Example:
(setq result (sd-inq-chamfer-face a-face-sel-item)) =>
  (:type :dist-dist :distance1 10 :distance2 20)

(getf result :type) => :dist-dist
(getf result :distance2) => 20

Function Index Top of Page

SD-PROJ-PNT-ON-EDGE  [function]

(sd-proj-pnt-on-edge edge point :source-space space :cv-space pspace)
Description:
Returns the parametric coordinates of a 3D point defined in a designated coordinate system projected onto a 2D or 3D edge or curve.
Parameters:
edge {SEL_ITEM} - The edge to project the point onto.
point {GPNT3D} - The point to project onto the edge.
:source-space {KEYWORD or SEL_ITEM [:local]}
:local - The point is defined in the coordinate system of the part/workplane containing the edge.
:global - The point is defined in the global coordinate system.
SEL_ITEM - Represents either an object or an element. The point is defined in the coordinate system of the object or the part/workplane owning the element.
:cv-space {BOOLEAN[nil]} - When true the projection point may lie outside the edge domain.
Return Value:
projection {SD-EDGE-RELAX-PNT} - The closest projection of the point onto the edge/ curve.
nil - Projection point is not on the edge (:cv-space nil) or point cannot be projected.

Function Index Top of Page

SD-EDGE-RELAX-PNT  [structure]

(sd-edge-relax-pnt-p sd-edge-relax-pnt)
(sd-edge-relax-pnt-s sd-edge-relax-pnt)
(sd-edge-relax-pnt-dist sd-edge-relax-pnt)
Description:
A Lisp structure containing parametric data describing a point projected onto an edge.
Slots:
s {LONG-FLOAT} - Parametric value of the point's projection onto the curve describing the edge.
dist {LONG-FLOAT} - Perpendicular distance from the point to the edge.
See Also:
SD-PROJ-PNT-ON-EDGE [function]

Function Index Top of Page

SD-PROJ-PNT-ON-FACE  [function]

(sd-proj-pnt-on-face face point :source-space space :sf-space pspace)
Description:
Returns the parametric coordinates of a 3D point defined in a designated coordinate system projected onto a face or surface.
Parameters:
face {SEL_ITEM} - The face to project the point onto.
point {GPNT3D} - The point to project onto the face.
:source-space {KEYWORD or SEL_ITEM [:local]}
:local - The point is defined in the coordinate system of the part/workplane containing the face.
:global - The point is defined in the global coordinate system.
SEL_ITEM - Represents either an object or an element. The point is defined in the coordinate system of the object or the part/workplane owning the element.
:sf-space {BOOLEAN[nil]} - When true the projection point may lie outside the face domain, that is on the surface obtained by extending the face beyond its bounding edges.
Return Value:
projection {SD-FACE-RELAX-PNT} - The closest projection of the point onto the face or surface.
nil - Projection point is not on the face (:sf-space nil) or point cannot be projected.

Function Index Top of Page

SD-FACE-RELAX-PNT  [structure]

(sd-face-relax-pnt-p sd-face-relax-pnt)
(sd-face-relax-pnt-u sd-face-relax-pnt)
(sd-face-relax-pnt-v sd-face-relax-pnt)
(sd-face-relax-pnt-dist sd-face-relax-pnt)
Description:
A Lisp structure containing parametric data describing a point projected onto a face.
Slots:
u {LONG-FLOAT} - U parameter of the point's projection onto the surface describing the face.
v {LONG-FLOAT} - V parameter of the point's projection onto the surface describing the face.
dist {LONG-FLOAT} - Perpendicular distance from the point to the face.
See Also:
SD-PROJ-PNT-ON-FACE [function]

Function Index Top of Page

SD-INQ-EDGE-ARCLEN-PARAM  [function]

(sd-inq-edge-arclen-param edge point dist
                          :source-space space)
Description:
Inquire the parametric coordinate of a point on a 2D or 3D edge at a defined distance from a specified point. Data is returned in a designated coordinate system.
Parameters:
edge {SEL_ITEM} - The edge to inquire.
point {GPNT3D} - The reference point on the edge from where the distance is measured.
dist{LONG-FLOAT} - The distance (arc length) from the reference point ot the desired point.
:source-space{KEYWORD or SEL_ITEM [:local]}
:local - The point is defined in the coordinate system of the part/workplane containing the edge.
:global - The point is defined in the global coordinate system.
SEL_ITEM - Represents either an object or an element. The point is defined in the coordinate system of the object or the part/workplane owning the element.
Return Value:
s{LONG-FLOAT} - parameter coordinate of the desired point
nil - An error occurred or the length of the arc measured from the reference point, is shorter than the given dist

Function Index Top of Page

SD-INQ-EDGE-EDGE-INT-PTS  [function]

(sd-inq-edge-edge-int-pts edge1 edge2 :dest-space space)
Description:
Inquire the intersection points of 2 2D edges in a workplane.
Parameters:
edge {SEL_ITEM} - The first edge to calculate intersection points
edge {SEL_ITEM} - The second edge to calculate intersection points.
:dest-space{KEYWORD or SEL_ITEM [:local]}
:local - Data is returned in the coordinate system of the part/workplane containing the edge.
:global - Data is returned in the global coordinate system.
SEL_ITEM - Represents either an object or an element. Data is returned in the coordinate system of the object or the part/workplane owning the element.
Return Value:
point-list {LIST} - A list containing the coordinates {GPNT3D} of the intersection points in the desired coordinate space.
nil - No Intersection or an error occurred.

Function Index Top of Page

SD-INQ-EDGE-CONVEXITY  [function]

(sd-inq-edge-convexity edge)
Description:
Inquire the convexity of an edge of a solid.
Parameters:
edge {SEL_ITEM} - The edge of which the convexity is requested.
Return Value:
One of the following keywords
:convex - Edge is convex.
:concave - Edge is concave.
:tangent_convex - Edge is tangent_convex.
:tangent_concave - Edge is tangent_concave.
:tangent - Edge is tangent.
nil - Convexity cannot be evaluated.

Function Index Top of Page

SD-INQ-DRAFT-ANALYSED-FACES  [function]

(sd-inq-draft-analysed-faces part direction angle)
Description:
Perform draft analysis for the given part with the given draft parameter direction and angle. Inquire lists of faces with positive and negative draft angle and critical faces.
Parameters:
part {SEL_ITEM} - The part to be analysed.
direction {GPNT3D} - The draft direction (in global coordinate system)
angle {LONG-FLOAT} - The critical draft angle (in radian)
Return Value:
List of face lists {LIST of 3 LISTs of SEL_ITEMs}
(faces with positive angle)
(critical faces)
(faces with negative angle)
Example:
(sd-inq-draft-analysed-faces a-part-sel-item  0.0,0.0,1.0  0.05235)

=>     (
         (face1-sel-item)    ;list of positive faces
         (face2-sel-item     ;list of critical faces
          face3-sel-item
          face4-sel-item
          face5-sel-item)
         (face6-sel-item)    ;list of negative faces
       )
     

Function Index Top of Page

SD-INQ-DRAFT-ANGLE-FACE  [function]

(sd-inq-draft-angle-face face direction)
Description:
Inquire the minimal and maximal draft angle of a given face regarding the specified draft direction.
Parameters:
face {SEL_ITEM} - The face to get the draft angle for.
direction {GPNT3D} - The draft direction (in global coordinate system)
Return Value:
property-list {LIST} - A property list containing key/value pairs for minimal and maximal draft angle.
Example:
(setq result (sd-inq-draft-angle-face a-face-sel-item 0.0,1.0,0.0)) => 
     (:MAX 0.15399383008480072 :MIN 0.01503803301602602)

(getf result :min) => 0.01503803301602602
(getf result :max) => 0.15399383008480072

Function Index Top of Page

SD-INQ-FACE-FACE-DIST  [function]

(sd-inq-face-face-dist face1 face2 :sf-space pspace)
Description:
Inquire the minimal distance between the given faces
Parameters:
face1 {SEL_ITEM} - The first face for the calculation
face2 {SEL_ITEM} - The second face for the calculation
:sf-space {BOOLEAN[nil]} - When true the projection point may lie outside the face domain, that is on the surface obtained by extending the face beyond its bounding edges.
Return Value:
property-list {LIST} - A property list containing key/value pairs for the distance and a point on the first and second given face
Example:
     (setq result (sd-inq-face-face-dist first-face-sel-item second-face-sel-item)) => 
     (:distance 0.456362662
      :point-on-face1 #S(sd-point-on-face
                           :face first-face-sel-item
                           :u 0.0 :v 0.0)
      :point-on-face2 #S(sd-point-on-face
                           :face second-face-sel-item
                           :u 4.0 :v 5.67)
     )
     (getf result :distance) => 0.456362662
     (getf (sd-inq-face-pnt
     (sd-point-on-face-face (getf result :point-on-face2))
     :u (sd-point-on-face-u (getf result :point-on-face2)))
     :v (sd-point-on-face-v (getf result :point-on-face2)))
     :coordinates)
     => 0.34345,0.565789,10.499595

Function Index Top of Page

SD-INQ-FACE-EDGE-DIST  [function]

(sd-inq-face-edge-dist face edge :sf-space pspace)
Description:
Inquire the minimal distance between a face and an edge
Parameters:
face {SEL_ITEM} - The face for the calculation
edge {SEL_ITEM} - The edge for the calculation
:sf-space {BOOLEAN[nil]} - When true the projection point may lie outside the face domain, that is on the surface obtained by extending the face beyond its bounding edges.
Return Value:
property-list {LIST} - A property list containing key/value pairs for the distance, a point on the given face and a point on the given edge
Example:
     (setq result (sd-inq-face-edge-dist a-face-sel-item an-edge-sel-item)) => 
     (:distance 2.456362662
      :point-on-edge  #S(sd-point-on-edge
                           :face an-edge-sel-item
                           :s 3.67)
      :point-on-face #S(sd-point-on-face
                           :face a-face-sel-item
                           :u 4.3 :v 5.67)
     )
     (getf result :distance) => 2.456362662
     (getf (sd-inq-edge-pnt
     (sd-point-on-edge-edge (getf result :point-on-edge))
     :s (sd-point-on-edge-s (getf result :point-on-edge))) :coordinates)
     => 0.34345,0.565789,10.499595

Function Index Top of Page

SD-INQ-EDGE-EDGE-DIST  [function]

(sd-inq-edge-edge-dist edge1 edge2 :sf-space pspace)
Description:
Inquire the minimal distance between the given edges
Parameters:
edge1 {SEL_ITEM} - The first edge for the calculation
edge2 {SEL_ITEM} - The second edge for the calculation
:sf-space {BOOLEAN[nil]} - When true the projection point may lie outside the edge domain, that is on the surface obtained by extending the edge beyond its bounds.
Return Value:
property-list {LIST} - A property list containing key/value pairs for the distance and a point on the first and second given edge
Example:
     (setq result (sd-inq-edge-edge-dist first-edge-sel-item second-edge-sel-item)) => 
     (:distance 0.456362662
      :point-on-edge1 #S(sd-point-on-edge
                            :edge first-edge-sel-item
                           :s 0.0)
      :point-on-edge2 #S(sd-point-on-edge
                           :edge second-edge-sel-item
                           :s)
     )

     (getf result :distance) => 0.456362662
     (getf (sd-inq-edge-pnt
     (sd-point-on-edge-edge (getf result :point-on-edge2))
     :s (sd-point-on-edge-s (getf result :point-on-edge2))) :coordinates)  => 0.34345,0.565789,10.499595

Function Index Top of Page

SD-EDGE-TO-BSPLINE-CV  [function]

(sd-edge-to-bspline-cv edge :dest-space space :accuracy value)
Description:
Returns B-spline data approximating a 2D or 3D edge in a designated coordinate system.
Parameters:
edge {SEL_ITEM} - The edge to inquire.
:dest-space {KEYWORD or SEL_ITEM [:local]}
:local - Data is returned in the coordinate system of the part/workplane containing the edge.
:global - Data is returned in the global coordinate system.
SEL_ITEM - Represents either an object or an element. Data is returned in the coordinate system of the object or the part/workplane owning the element.
:accuracy {LONG-FLOAT} - the accuracy value to which the edge is approximated. If 0 is specified the resolution value of the part the edge belongs to is used and for circles and ellipses one gets an exact rational B-spline representation.
Return Value:
{SD-BSPLINE-EDGE}- A Lisp structure. SD-BSPLINE-EDGE is returned for B-spline edges SD-EDGE for all other edges
nil - An error occurred.
[Integration Kit Contents] [Integration Kit What's New] [Integration Kit Function Index] [More Documentation] [PTC]
© 2023 Parametric Technology GmbH
(a subsidiary of PTC Inc.), All Rights Reserved