明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1916|回复: 4

[求助]在LSP中有什么好方法检测对象是否是曲线?

[复制链接]
发表于 2004-2-7 21:00 | 显示全部楼层 |阅读模式
如题。


谢谢大家帮助。
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2004-2-7 21:59 | 显示全部楼层
图元名可以吧
发表于 2004-2-7 22:58 | 显示全部楼层
高手,"LIST"列表后线的类型该可以看到的不知在编程里能用到吗
发表于 2004-2-7 22:58 | 显示全部楼层
  1. ;|Curve 类 AcDbLine、AcDbPolyline(lwpolyline),AcDbArc,AcDbCircle,AcDbEllipse,
  2.                      AcDbSpline AcDb2dPolyline
  3.   |;
  4. (defun IsCurve (objectname)
  5.    (member objectname
  6.      '("AcDbArc"               "AcDbPolyline"     "AcDbLine"
  7.          "AcDbEllipse"           "AcDbSpline"     "AcDbCircle"
  8.          "AcDb2dPolyline"
  9.        )
  10.    )
  11. );;;;;;;;;;;;;;;;;;;;;;;;(defun c:test (/ e obj thisdrawing)
  12.    (if (and (setq e (entsel "\n选择曲线: "))
  13.        (setq obj (vlax-ename->vla-object (car e)))
  14.        (member (vla-get-objectname obj)
  15.          '("AcDbArc"    "AcDbPolyline"
  16.              "AcDbLine"    "AcDbEllipse"
  17.              "AcDbSpline"  "AcDbCircle"
  18.              "AcDb2dPolyline"
  19.            )
  20.        )
  21.            )
  22.        (progn
  23.            (setq thisdrawing (vla-get-activedocument (vlax-get-acad-object)))
  24.            (vla-startundomark thisdrawing)
  25.            .....
  26.            (vla-endundomark thisdrawing)
  27.        )
  28.    )
  29.    (princ)
  30. )
发表于 2004-2-8 00:29 | 显示全部楼层
  1. (defun iscur (obj)
  2.    (not(vl-catch-all-error-p (vl-catch-all-apply 'vlax-curve-getstartparam (list obj))))
  3. )
;|测试:
(setq obj (vlax-ename->vla-object (car(entsel))))
(if (iscur obj) (princ "\n实体是曲线")(princ "\n实体不是曲线"))
|;

评分

参与人数 1金钱 +10 贡献 +5 激情 +5 收起 理由
mccad + 10 + 5 + 5 【精华】好程序

查看全部评分

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-17 09:43 , Processed in 0.212236 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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