乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 80|回复: 6

entsel

[复制链接]

57

主题

466

帖子

8

银币

中流砥柱

Rank: 25

铜币
694
发表于 2004-9-12 15:47:00 | 显示全部楼层 |阅读模式
帮助文件中说
有时候在操作一个对象时,不但需要选中一个对象,同时还需要知道指定的点。例如在  中的 Object Snap 以及 BREAK、TRIM 和 EXTEND 命令中就是这样。entsel 使得 AutoLISP 程序可以实现这种操作。它通过选取点的方式来选取单个对象。[U]除非在函数中作特别申明,否则 initget 函数将忽略当前 Osnap 设置[/U]。entsel 函数支持它前面通过调用 initget 函数设置的关键字。
那我如果要指定中点要怎么做,我试过这样子不行
         (setq oosm (getvar "osmode"))
         (setvar "osmode" 2)
         (setq se        (entsel))
         (setvar "osmode" oosm)
回复

使用道具 举报

16

主题

909

帖子

8

银币

中流砥柱

Rank: 25

铜币
973
发表于 2004-9-12 17:26:00 | 显示全部楼层
_$ (setq sel (entsel))
( (4837.14 1831.84 0.0))
_$ (setq midpt (osnap (cadr sel) "_mid"))
(4593.95 1856.74 0.0)
这样行不行?
回复

使用道具 举报

20

主题

872

帖子

10

银币

中流砥柱

Rank: 25

铜币
952
发表于 2004-9-12 18:45:00 | 显示全部楼层
也可以这样
(setvar "osmode" 2)
(setq pt (getpoint ))
(if (setq el (nentselp pt))(list (car el) pt) nil)
回复

使用道具 举报

57

主题

466

帖子

8

银币

中流砥柱

Rank: 25

铜币
694
发表于 2004-9-13 08:39:00 | 显示全部楼层

这样也行,我原来就是这样做的.我以为直接用 entsel 就可以了
回复

使用道具 举报

57

主题

466

帖子

8

银币

中流砥柱

Rank: 25

铜币
694
发表于 2004-9-13 08:42:00 | 显示全部楼层

呵呵,又学到一招,可是这里问什么要用 IF 呢
(setvar "osmode" 2)
(setq el (nentselp (getpoint)))
回复

使用道具 举报

20

主题

872

帖子

10

银币

中流砥柱

Rank: 25

铜币
952
发表于 2004-9-14 08:45:00 | 显示全部楼层
可以不用if,you are right
回复

使用道具 举报

5

主题

58

帖子

8

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
78
发表于 2004-9-14 19:31:00 | 显示全部楼层

有启发,谢谢各位.
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-8-20 00:54 , Processed in 0.373297 second(s), 66 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表