26.12.2012 Views

ICAM Virtual Machine V19 - Kxcad.net

ICAM Virtual Machine V19 - Kxcad.net

ICAM Virtual Machine V19 - Kxcad.net

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>ICAM</strong> <strong>Virtual</strong> <strong>Machine</strong> ® <strong>Virtual</strong> <strong>Machine</strong> Reference, Model Customization<br />

Simulation Macro Functions, <strong>Virtual</strong> <strong>Machine</strong> Probe and Collision Test Functions<br />

4.4.5.14 <strong>Virtual</strong> <strong>Machine</strong> Probe and Collision Test Functions<br />

$FMSCEZ Summary of collision/over-travel events<br />

$FMSGCS Get coordinate system information<br />

$FMSLSR Laser probing<br />

$FMSPDAT Details of probe/collision/over-travel events<br />

$FMSPPOS Axes positions at touch<br />

$FMSPRID Select the object to be used as a probe<br />

$FMSPROB Activate/deactivate probing<br />

$FMSVCL Enable/disable collision testing on objects<br />

The Probe and Collision Test functions can be used to simulate the actions of a touch or laser<br />

probe, and to check for collision and over-travel event information.<br />

The following steps are necessary for touch probing:<br />

1. Call the $FMSPRID function to designate an object that will be used for touch probing.<br />

2. Call the $FMSPROB function to enable probing (i.e., arm the probe).<br />

3. Move the model via GENER or CERUN motion processing, or via $FMSMOVE calls.<br />

4. Check for probe touch via the $VMPRCOD probe status variable.<br />

5. Retrieve basic touch information via the $VMXFER and $VMP* variables.<br />

6. Retrieve details via calls to the $FMSPDAT and $FMSPPOS functions.<br />

7. Optionally call $FMSVCL to disable further collision checking touching objects.<br />

8. Call the $FMSPROB function again to disable probing.<br />

9. Call the $FMSPRID function again to disable the probe object.<br />

The following steps are necessary for laser probing:<br />

1. Call $FMSGCS to obtain the coordinate frame in which the measurement will be taken.<br />

2. Call the $FMSLSR function with a point and vector that specifies the origin and direction<br />

of the light beam, and test the return value for measurement information.<br />

The following steps are necessary to check for collisions and over-travels:<br />

1. Optionally call $FMSVCL to enable/disable collision checking on specific objects.<br />

2. Move the model via GENER or CERUN motion processing, or via $FMSMOVE calls.<br />

3. Retrieve basic collision/over-travel event information via the $VMXFER variable.<br />

4. Call $FMSCEZ to obtain summary information concerning each event.<br />

5. Call $FMSPDAT to obtain details concerning each event.<br />

194 <strong>ICAM</strong> Technologies Corporation – Proprietary

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!