该函数为上下文数据提供参数。(这是 未提供的另一个功能。参数是指向结果缓冲区链接列表的指针,其中包含实体的容器块的名称。列表按从低到高的顺序排列。换句话说,列表中的第一个名称是包含所选图元的块的名称,列表中的姓氏是直接插入到图形中的块的名称。下图显示了此列表的格式。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 的块,该块由四条线组成。 命令:行 指定第一个点:1,1 指定下一个点或[撤消]:3,1 指定下一个点或[撤消]:3,3 指定下一个点或[关闭/撤消]:1,3 指定下一个点或 [关闭/撤消]:c 命令: -块 输入块名称或 [?]:正方形 指定插入基点:2,2 选择对象:选择刚刚绘制的四条线 选择对象:输入 然后将块插入绕Z轴旋转 45 度的 UCS 中。 命令:ucs 输入选项 [新建/移动/正交图形/上一页/恢复/保存/删除/应用/?/世界] <世界>:z 指定绕 Z 轴的旋转角度 <90>:45 命令: -插入 输入块名称或 [?]:正方形 指定插入点或 [缩放/X/Y/z/旋转/PScale/PX/PY/PZ/p]:7,0 输入 X 比例因子,指定对角,或 [角/XYZ] <1>:输入 输入 Y 比例因子<使用 X 比例因子>:输入 指定旋转角度 <0>:输入 如果 ObjectARX 应用程序调用(or),并且用户选择正方形的左下角,则这些函数会将参数设置为等于所选行的名称。他们将拾取点 () 设置为 (6.46616,-1.0606,0.0) 或附近的点值。它们返回转换矩阵 (),如下图所示。最后,他们将容器实体列表 () 设置为指向包含块 Square 实体名称的单个结果缓冲区。acedNEntSelP()acedNEntSel()entresptresxformresrefstkres |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-1-8 19:40
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.