CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 文档中心

将名称、句柄或对象 ID 转换为 VLA 对象 (AutoLISP/ActiveX)

2023-1-8 00:32| 发布者: admin| 查看: 1776| 评论: 0|来自: AutoCAD

摘要: 在 AutoLISP 中使用 ActiveX 函数时,有时需要将 VLA 对象转换为名称、句柄或对象 ID。

在 AutoLISP 中使用 ActiveX 函数时,有时需要将 VLA 对象转换为 enames、句柄或对象 ID。

注意:AutoLISP 中的 ActiveX 支持仅限于 Windows。

将 ename 转换为 VLA 对象

该函数允许您将通过函数(如 和 )获取的实体名称 (ename) 转换为可与 ActiveX 支持函数一起使用的 VLA 对象。vlax-ename->vla-objectentgetssname

  1. 在 AutoCAD 绘图区域中,绘制一个圆。
  2. 在AutoCAD命令提示下,输入(vl-load-com)并按Enter键。
  3. Enter (setq ename-circle (car (entsel “\nPick a Circle:”))) 并按 Enter。
    <Entity name: 27f0538>
  4. 输入 (setq vlaobject-circle (vlax-ename->vla-object ename-circle)) 并按 Enter 键。
    #<VLA-OBJECT IAcadCircle 03642c24>
  5. 输入 (setq new-ename-circle (vlax-vla-object->ename vlaobject-circle)) 并按 Enter 键。
    <Entity name: 27f0538>

将句柄转换为 VLA 对象

该函数根据提供的句柄返回实体名称 (ename)。然后,可以将实体名称转换为可用于 ActiveX 支持函数的 VLA 对象。handent

  1. 在 AutoCAD 绘图区域中,绘制一个圆。
  2. 在AutoCAD命令提示下,输入(vl-load-com)并按Enter键。
  3. Enter (setq ename-circle (handent (cdr (assoc 5 (entget (car (entsel “\nPick a Circle:”))))))) 并按 Enter.
    <Entity name: 27f0538>
  4. 输入 (setq vlaobject-circle (vlax-ename->vla-object ename-circle)) 并按 Enter 键。
    #<VLA-OBJECT IAcadCircle 03642c24>
  5. 输入 (setq new-ename-circle (vlax-vla-object->ename vlaobject-circle)) 并按 Enter 键。
    <Entity name: 27f0538>

将对象 ID 转换为 VLA 对象

该函数返回与传递给函数的对象 ID 相对应的 VLA 对象。用于获取指定 VLA 对象的对象 ID。vla-get-ObjectIDvla-ObjectIDToObject

  1. 在 AutoCAD 绘图区域中,绘制一个圆。
  2. 在AutoCAD命令提示下,输入(vl-load-com)并按Enter键。
  3. Enter (setq aDoc (vlax-get-property (vlax-get-acad-object) 'ActiveDocument)) 并按 Enter。
    #<VLA-OBJECT IAcadDocument 0000000029430508>
  4. Enter (setq aMSpace (vlax-get-property aDoc 'ModelSpace)) 并按 Enter。
    #<VLA-OBJECT IAcadModelSpace 00000000304d7308>
  5. Enter (setq aObjId (vla-get-ObjectID aMSpace)) 并按 Enter。
    48
  6. Enter (setq aObj (vla-ObjectIDToObject aDoc aObjId)) 并按 Enter。
    #<VLA-OBJECT IAcadModelSpace 00000000304d7308>

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2024-12-15 14:54

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部