Joint drives say when they move nothing; drive values in degrees; quiet replies (#1304)
joint.drive answers moved, and a reason (with unconnected) when the joint can move nothing; motion.play answers moved and unmoved; joint.list answers floating chains. joint.drive values come back in joint.list's shape (deg/mm). quiet: true trims joint answers and motion.play poses. A single value keeps a joint's other values. Drive Joints shows the floating case (drive.unconnected, all locales).
This commit is contained in:
1 parent
fd19efc6fc
commit
7195e323bf
15 files changed
+326
-79
No files matched your search
@@ -41,6 +41,21 @@ why. While it previews, a row under the values gives the value the joint reached
|
||||
(the loop that can't close further, or the two parts a contact set keeps apart), and after OK the
|
||||
status line repeats it. The value box keeps what you typed.
|
||||
|
||||
The solver places what it reaches from the root and from grounded components. A chain of joints
|
||||
that is joined to nothing grounded is never placed, so driving one of its joints moves nothing.
|
||||
The drive says so: `joint.drive` answers `moved: false` with a `reason` and the `unconnected`
|
||||
part ("Pedestal:1 is not connected to anything grounded"), the Drive Joints dialog shows the same
|
||||
row, `motion.play` lists such joints under `unmoved`, and `joint.list` names every such chain under
|
||||
`floating`. Ground a part of the chain, or join it to a grounded part (a rigid as-built joint keeps
|
||||
it where it is), and it moves.
|
||||
|
||||
`joint.drive` answers the joint's values as `joint.list` gives them, in degrees and millimetres
|
||||
with their units and limits, and `moved` says whether any part moved. A joint's origins are mated
|
||||
by default: B's z axis is turned against A's, as two faces meet. `flip: true` lines them up
|
||||
instead, so two origins given at one point with the same z stay as they are. For scripts that
|
||||
drive many steps, `quiet: true` leaves the per-part degrees of freedom out of joint answers, and
|
||||
`motion.play` with `quiet: true` gives the poses of only the parts that moved.
|
||||
|
||||
**Insert Design** (`component.insert_design {path, translate?}`) adds a component linked to
|
||||
another saved design, so each part can live in its own document. The part's solid bodies come
|
||||
in as they sit in that design, and they are kept in the assembly, so it opens even without the
|
||||
|
||||
Reference in new issue
Block a user