可以使用 TABLET 命令或使用 AutoLISP 数位板功能校准数字化数位板。 重要:平板电脑支持仅限于 Windows。
该功能使应用程序能够直接管理校准设置,并保存这些设置以备将来使用。该函数的第一个参数是整数代码。如果 code 等于 0,则函数返回当前校准。如果代码等于 1,则根据其余参数设置校准。校准表示为四个 3D 点(除代码外)。tablettablet 前三个点 (row1、row2 和 row3) 是平板电脑转换矩阵的三行。第四个点,方向,是垂直于假定平板电脑表面所在的平面的向量(以 WCS(世界坐标系)表示)。当使用 TABLET 命令设置校准时,假定平板电脑的表面位于当前 UCS 的 XY 平面中。 注意:TABMODE 系统变量控制平板电脑模式是打开 (1) 还是关闭 (0)。您可以使用该功能对其进行控制。setvar
以下代码检索当前平板电脑校准并将其存储在变量中:tcal (defun C:TABGET () (setq tcal (tablet 0)) (if tcal (princ (strcat "\nConfiguration saved, " "use TABSET to retrieve calibration." ) ) (princ "\nCalibration not obtainable ") ) (princ) ) 如果 TABGET 命令成功,则该变量现在包含 tablet 函数返回的列表。此列表可能如下所示:tcal (1 (0.00561717 -0.000978942 -7.5171) (0.000978942 0.00561717 -9.17308) (0.0 0.0 1.0) (0.0 0.0 1.0) ) 若要将校准重置为上述例程检索的值,可以使用以下代码: (defun C:TABSET () (if (not (apply 'tablet tcal)) (princ "\nUnable to reset calibration. ") (progn (princ "\nTablet calibration reset. ") (setvar "tabmode" 1) (if (= (getvar "tabmode") 0) (princ "\nUnable to turn on tablet mode ") ) ) ) (princ) ) 定义平板电脑的转换矩阵参数 row1、row2 和 row3 作为 3×3 变换矩阵传递,该矩阵旨在变换 2D 点。2D 点表示为齐次坐标中的列向量(通过追加 1.0 作为第三个元素),因此变换如下所示: 点的计算类似于 3D 情况。AutoCAD 使用以下公式变换该点: 通过将前两个 (X',Y') 分量除以第三个分量(比例因子 D'),可以将变换产生的向量转回 2D 点。生成的 2D 点类似于 (X'/D',Y'/D')。 对于投影变换,最一般的情况是进行完整计算。但是对于仿射和正交变换,Mtablet 20 和 M 21 都是 0,所以 D' 将是 1.0。省略了 D' 的计算和除法;得到的二维点就是 (X',Y')。 如上一段所述,仿射变换是射影变换的一种特殊的、统一的情况。正交变换是仿射变换的特例:不仅 M 20 和 M 21 零,但 M 00 = 米 11 和 M 10 = -米 01 . 注意:设置校准时,如果方向未归一化,则返回的列表不等于提供的列表。AutoCAD 在返回方向矢量之前对其进行归一化。此外,它还确保第三列 (row3) 中的第三个元素等于 1。如果使用通过 从 AutoCAD 检索到的值来设置校准,则不会出现这种情况。但是,如果您的程序本身计算转换,则可能会发生这种情况。[Z]tablet
父主题: |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2024-12-15 14:33
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.