|
Action:
|
Makes a law that returns the second geometric derivative of its sublaw.
|
|
|
Derivation:
|
frenet_law : unary_law : law : ACIS_OBJECT : -
|
|
|
Syntax:
|
FRENET (my_law)
|
|
|
Description:
|
Returns second geometric derivative of its sublaw,
my_law. This is a vector pointing in the direction of the direction of curvature. The geometric derivative is the derivative of the curve parameterized with respect to the arc length.
|
|
|
This law symbol is used to specify the orientation of a surface by defining a vector fields along a curve. This defines rails which help orient a surface when performing sweep operations.
|
|
|
Example:
|
; law "FRENET"
|
|
; Produces a frenet rail law.
|
|
(define my_line (edge:linear (position 0 0 0)
|
|
|
(position 0 (law:eval "8*pi") 0)))
|
|
;; my_line
|
|
; my_line => #[entity 2 1]
|
|
(define my_wire (wire-body my_line))
|
|
;; my_wire
|
|
; my_wire => #[entity 3 1]
|
|
(define my_helix (wire-body:offset my_wire 5 "x"))
|
|
;; my_helix
|
|
; my_helix => #[entity 4 1]
|
|
(define my_path (law "cur(edge1)"
|
|
|
(car (entity:edges my_helix))))
|
|
;; my_path
|
|
; my_path => #[law "CUR(EDGE1)"]
|
|
(define my_frenet (law "map(frenet(law1),edge2)"
|
|
|
my_path(car (entity:edges my_helix))))
|
|
;; my_frenet
|
|
; my_frenet => #[law "MAP(FRENET(CUR(EDGE1)),EDGE2"]
|
|
; This maps my_frenet law's domain to the closed
|
|
; interval [0,1].
|
|
(law:hedgehog my_frenet my_helix 50)
|
|
;; #[dl-item 40261f30]
|