找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 787|回复: 6

[求助] [求助]:几个问题:1、如何判断LWPOLYLINE是否闭合?.......

[复制链接]
发表于 2003-7-23 10:31:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
1、如何判断LWPOLYLINE是否闭合?--比如多边形
2、在一个lisp执行了多个(command)命令,怎样让cad仅执行一次“u”命令就直接回到执行lisp命令之前的状态?
3、如何得到(entlast)的前一个生成的对象?或者说如何得到倒数第二个、倒数第三个、.....,新生成的对象?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 593个

财富等级: 财运亨通

发表于 2003-7-23 13:10:41 | 显示全部楼层

Re: [求助]:几个问题:1、如何判断LWPOLYLINE是否闭合?.......

最初由 libo2000 发布
[B]1、如何判断LWPOLYLINE是否闭合?--比如多边形
2、在一个lisp执行了多个(command)命令,怎样让cad仅执行一次“u”命令就直接回到执行lisp命令之前的状态?
3、如何得到(entlast)的前一个生成的对象?或者说如何?.. [/B]

1 LwPolyline

70

多段线标志(位码);缺省值为 0:  

1 = 关闭的; 128 = 多段线生成

Polyline

70

多段线标志(位编码);缺省值为 0:  

1 = 这是一个闭合的多段线(或在 M 方向闭合的多边形网格);  

2 = 曲线拟合添加了顶点;  

4 = 添加样条曲线拟合添加了顶点;  

8 = 这是一个三维多段线;  

16 = 这是一个三维多边形网格;  

32 = 在 N 方向闭合的多边形网格;  

64 = 多段线是多面网格;  

128 = 不断在此多段线顶点的周围生成线型图案;

2 a  用XDAPI
c:xdrx_setmark(命令版)
xdrx_setmark(函数版)

功  能:建立标记,通过下面的命令xdrx_getss获得标记后,新画的实体的选择集。

说  明:系统默认标记是图形的第一个实体。即,通过命令xdrx_getss获得所有实体。
        命令版本若在LISP中调用,格式为(c:xdrx_setmark)

返回值:T

c:xdrx_getss (命令版本)
c:pp (命令版本)
xdrx_getss (函数版本)

功    能:返回上次标记后的,所有新画实体的选择集。

说    明:命令,若没有设立标记,则返回图中的所有实体。
          若在LISP中使用,格式为(setq ss(c:xdrx_getss))
          可以构造选择集的时候透明使用,提供C:PP是为了方便

          命令PP和命令XDRX_GETSS在命令行上使用,把得到标记后的实体选择集加入
          到内部数据库P1位置。
          若这两个命令在其他命令内部选物体的时候透明使用,仅仅返回标记后的实体选择集而不
          加入到内部数据库中。

b   搜索前面的帖子,我用Lisp写过和上面函数类似的但仅在CAD2002中测试通过。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-7-23 15:28:39 | 显示全部楼层
1.也可以用函数(vlax-curve-isclosed obj) 来判别。
3. 可以求倒数第个2 , 3  ln 实体。
(defun lastnum (ln)
  (vl-load-com)
  (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
  (if (= (vla-get-ActiveSpace doc) acModelSpace)
    (setq entity (vla-get-ModelSpace doc))
    (setq entity (vla-get-PaperSpace doc))
  )
  (setq ent (vlax-vla-object->ename (vla-Item entity (- (vla-get-count entity) ln))))
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-7-24 13:54:24 | 显示全部楼层
最初由 lsjjm 发布
[B]1.也可以用函数(vlax-curve-isclosed obj) 来判别。
3. 可以求倒数第个2 , 3  ln 实体。
(defun lastnum (ln)
  (vl-load-com)
  (setq doc (vla-get-ActiveDocument (vlax-get-acad-object)))
  (if (= (vla-... [/B]


==============
R14不支持 vl 函数:

cad2004:

命令: (lastnum (entsel))

选择对象: ; 错误: 参数类型错误: numberp: (<图元名: 400681b8> (-21141.5 43238.9
0.0))

命令: (lastnum (entlast))
; 错误: 参数类型错误: numberp: <图元名: 400681b8>

命令: (lastnum (ssget))

选择对象: 找到 1 个

选择对象:
; 错误: 参数类型错误: numberp: <Selection set: 2>
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2003-7-24 18:28:11 | 显示全部楼层
最初由 libo2000 发布
[B][QUOTE]最初由 lsjjm 发布
[B]1.也可以用函数(vlax-curve-isclosed obj) 来判别。
3. 可以求倒数第个2 , 3  ln 实体。
(defun lastnum (ln)
  (vl-load-com)
  (setq doc (vla-get-ActiveDocument (vla... [/B]

ln 是 数字,不是 entsel
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1915个

财富等级: 堆金积玉

发表于 2003-7-25 11:43:15 | 显示全部楼层
对于2
你看采用先用undo->mark作标记,以后用undo->back返回
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

发表于 2003-7-25 16:15:38 | 显示全部楼层
Command("UNDO" "M" 0);
        Command("UNDO" "B" 0);
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-26 14:27 , Processed in 0.171259 second(s), 44 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表