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
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.
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.
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.
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.
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.
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.
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.
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
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))
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.
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.
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
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
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.
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]
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]
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]
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
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)))
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.
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]
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]
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]
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
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.
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.
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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
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
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.
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]
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.
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]
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
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.
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.
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
)
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.
- :min {LONG-FLOAT} - the minimal angle in radians
- :max {LONG-FLOAT} - the maximal angle in radians
- 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
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
- :distance {LONG-FLOAT} - the distance between the two
faces
- :point-on-face1 {SD-POINT-ON-FACE} - the point on the first
face where the minimum distance is reached
- :point-on-face2 {SD-POINT-ON-FACE} - the point on the
second face where the minimum distance is reached
- 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
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
- :distance {LONG-FLOAT} - the distance between the edge and
the face
- :point-on-face {SD-POINT-ON-FACE} - the point on the face
where the minimum distance is reached
- :point-on-edge {SD-POINT-ON-EDGE} - the point on the edge
where the minimum distance is reached
- 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
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
- :distance {LONG-FLOAT} - the distance between the two
edges
- :point-on-edge1 {SD-POINT-ON-EDGE} - the point on the first
edge where the minimum distance is reached
- :point-on-edge2 {SD-POINT-ON-EDGE} - the point on the
second edge where the minimum distance is reached
- 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
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.
© 2023 Parametric
Technology GmbH
(a subsidiary of PTC Inc.), All Rights Reserved |