上下文数据
该函数为上下文数据 .(这是 未提供的另一个功能。该参数是指向结果缓冲区链表的指针,该链接列表包含实体的容器块的名称。该列表按从低到高的顺序排列。换言之,列表中的第一个名称是包含选定图元的块的名称,列表中的姓氏是直接插入到图形中的块的名称。此列表的格式如下图所示。acedNEntSelP()refstkresacedEntSel()refstkres 如果所选实体不是嵌套实体,则为指针。这是测试是否需要平移实体坐标的便捷方法。(由于它作为未嵌套实体的单位矩阵返回,因此将其应用于此类实体的坐标不会造成任何伤害,但会花费一些不必要的执行时间。entresrefstkresNULLxformres 使用上一示例中的声明,可以通过以下代码找到立即包含用户选择的实体的块的名称(在调用中,该参数用于交互式选择)。acedNEntSelP()acedNEntSelP()pickflagFALSE status = acedNEntSelP(NULL, usrent, usrpt, FALSE, matrix, &containers); if ((status != RTNORM) || (containers == NULL)) return BAD; containent[0] = containers->resval.rlname[0]; containent[1] = containers->resval.rlname[1]; 最外层容器(即最初插入到图形中的图元)的名称可以通过如下序列找到: // Check that containers is not already NULL. rb = containers; while (rb != NULL) { prevrb = rb; rb = containers->rbnext; } // The result buffer pointed to by prevrb now contains the // name of the outermost block. 在以下示例中,当前坐标系是 WCS。使用 AutoCAD,创建由四条线组成的名为 SQUARE 的块。 命令:line 指定第一点:1,1 指定下一个点或[撤消]:3,1 指定下一个点或[撤消]:3,3 指定下一个点或[关闭/撤消]:1,3 指定下一个点或[关闭/撤消]:c 命令:-block 输入块名称或 [?]: square 指定插入基点:2,2 选择对象:选择刚刚绘制的四条线 选择对象:ENTER 然后将块插入绕 Z 轴旋转 45 度的 UCS 中。 命令:ucs 指定UCS或[Face/NAmed/OBject/Previous/View/World/X/Y/Z/ZAxis]<World>:z的原点 指定 Z 轴旋转角度 <90>:45 命令:-insert 输入块名称或 [?]: square 指定插入点或 [基点/刻度/X/Y/Z/旋转/分解/重新定位]:7,0 输入 X 比例因子,指定对角,或 [Corner/XYZ] <1>:ENTER 输入 Y 比例因子<使用 X 比例因子>:ENTER 指定旋转角度 <0>:ENTER 如果 ObjectARX 应用程序调用 (或 ),并且用户选择正方形的左下角,则这些函数会将参数设置为等于所选行的名称。他们将拾取点 () 设置为 (6.46616,-1.0606,0.0) 或附近的点值。它们返回转换矩阵 (),如下图所示。最后,他们将容器实体 () 列表设置为指向包含块 SQUARE 的实体名称的单个结果缓冲区。acedNEntSelP()acedNEntSel()entresptresxformresrefstkres 父主题: |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2024-12-15 11:48
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.