CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2022 开发者帮助

上下文数据

2024-5-18 18:49| 发布者: admin| 查看: 83| 评论: 0|原作者: admin|来自: AutoCAD

上下文数据

该函数为上下文数据 .(这是 未提供的另一个功能。该参数是指向结果缓冲区链表的指针,该链接列表包含实体的容器块的名称。该列表按从低到高的顺序排列。换言之,列表中的第一个名称是包含选定图元的块的名称,列表中的姓氏是直接插入到图形中的块的名称。此列表的格式如下图所示。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

输入选项 [New/Move/orthoGraphic/Prev/Restore/Save/Del/Apply/?/World] <World>: z

指定 Z 轴旋转角度 <90>:45

命令:-insert

输入块名称或 [?]: square

指定插入点或 [Scale/X/Y/Z/Rotate/PScale/PX/PY/PZ/PRotate]:7,0

输入 X 比例因子,指定对角,或 [Corner/XYZ] <1>:ENTER

输入 Y 比例因子<使用 X 比例因子>:ENTER

指定旋转角度 <0>:ENTER

如果 ObjectARX 应用程序调用 (或 ),并且用户选择正方形的左下角,则这些函数会将参数设置为等于所选行的名称。他们将拾取点 () 设置为 (6.46616,-1.0606,0.0) 或附近的点值。它们返回转换矩阵 (),如下图所示。最后,他们将容器实体 () 列表设置为指向包含块 SQUARE 的实体名称的单个结果缓冲区。acedNEntSelP()acedNEntSel()entresptresxformresrefstkres


路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1   苏公网安备32011402011833)

GMT+8, 2024-12-15 22:06

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部